yuisGithubにgitリポジトリをリモートで送って、リポジトリをシェアしたはいいけど、何らかの事情、例えばreadme.md、リードミーファイルにタイプミスがあってちょこっと変更しただけ、とか、何か見られたくない編集履歴をコミットしてしまって、とりあえず今の状態のリポジトリを”最初のコミット”としてGithubリモートにpushしたい、といったようなケースが、あるかもしれません。そんなときに使える手段を紹介します。checkout”の”orphan”オプションを使用します。commit”コミットすることでそのコミットが最初のコミットとしてそのブランチに登録されます。ようは、過去のコミットを無視して1番目のコミットをするブランチを作るためのブランチ、というオプションです。tmp02orphanオプションをつけてcheckoutした場合、コマンド実行直後ではbranchにブランチは表示されません。tmpといっても現在の実際のブランチは”tmp02′′です。log”をして、過去のコミットがなにもないので、コミットがないエラーとなることを確認します。status”でステーテス確認をしてみても、同様です。file”となっています。readme.mdコミットしてみましょう。branch”でブランチを改めて確認してみます。ここではじめて、ブランチに”tmp02′′が表示されるようになります。tmp02さて、以下からがローカルのgitリポジトリを初期化する、という処理です。以下のコマンド”-D”ではブランチ”main”をdelete、削除します。過去のコミットが消えるので気をつけてください。mainコミットが消えたところで、tmp02ブランチをmainブランチにコピーして移動します。push”でgithubのリモートリポジトリにpushします。リモート先のコミットが上書きされコミットが消えますのでこちらも注意してください。main:main“-f”–forceオプションをつけてpushをしないと、エラーになります。リモートのリポジトリとローカルのリポジトリの進捗が異なる(リモートの方には過去のコミットがあるがローカルには1コミットしかない)ためです。–forceオプションによりそれを上書きしてpushします。push”でローカルブランチの指定を変更してやることで上手くできますね。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。このサイトの使用を継続することで、その使用に同意したとみなされます。コントロール方法を含む詳細についてはこちらをご覧ください。