はじめに
諸事情で README.md のみの FIRST COMMIT が必要になった。
後から歴史を改変し FIRST COMMIT を履歴の最初にcommitする方法について記載する。
以下手順
-
これまでの歴史を無視したブランチを新規に作成する
git checkout --orphan [ブランチ名]
-
リポジトリ内の既存のファイルがインデックスに追加された状態になるので、
git rm --cached
でまとめてインデックスから削除。(ファイルも削除しておく) -
お目当の README.md を作成し、FIRST COMMIT を作成
-
対象ブランチへcheckout
git checkout [改変したいブランチ]
-
git rebase で FIRST COMMIT を取り込む
git rebase --onto [1のブランチ名] --root [4のブランチ名]
-
CONFLICT の解決
履歴にファイル削除されてたりすると、CONFLICTが生じるので、
git rebase --continue
git rebase --skip
で内容を見ながら頑張る -
git log で履歴を確認
まとめ
歴史を改変し、後から FIRST COMMIT を追加する手順について記載した。
滅多にやらないだろうけど、忘れるだろうから記録として記載しておく。
歴史が古いと結構大変なので覚悟すること。