Git

git のコミット履歴をすべて消す(現時点の状態の1コミットだけにする)

普通はこんなことしない。

が、やんごとなき理由によりやらねばならないときに。

git checkout --orphan tmp
git commit -m "Initial Commit"
git checkout -B master
git branch -d tmp

解説

git checkout --orphan tmp

orphan オプションによって、独立した(親を共有していない)ブランチを切ることができる。

git commit -m "Initial Commit"

独立している tmp ブランチにコミット。tmp 上ではこれが最初のコミットとなる。

git checkout -B master

B オプションで master ブランチを上書き。この時点で master ブランチは先程の1コミットログだけが残る。

git branch -d tmp

あとしまつ。