Gitの歴史を最初から作り直す時に使うコマンド一覧

「今までのログを最初から作り直したい!」って事が時々あるので、その時に使えそうなコマンドをメモっておく。

コマンド

新しい歴史を持つブランチを作成する
$ git checkout --orphan new_branch
indexにaddされた変更を全て取り消す
$ git rm -r --cached .
空のコミットを作る
$ git commit --allow-empty -m "init project"
別のブランチのファイルをローカルに持ってくる
$ git checkout old_branch -- .

このコマンドの実行後、ファイルがaddされた状態になるので注意。

別のブランチのファイルをzipで持ってくる
$ git archive -o old_branch.zip old_branch

何が便利なの?

プロジェクトの初期で、最初に.gitignoreが無くて変なファイルがコミットされてたり、
READMEが無くて('A`)ウボァーって時に使える。