Git備忘録
割とすぐ忘れてしまうのでメモ。
git reflog
git reset とか、git merge の取り消し。
取り消しというかローカルリポジトリをローカルヒストリの特定のポイントまで強制的に戻してくれる君。
割とgitが使えない他人(非エンジニア)様の環境にsshしてコミットしたりするんだけど、そこでマージ衝突したり面倒臭い状況になってかつ、人の変更だから間違って消したくないよみたいな状況で使う。
運用見なおせ。と言われればそれまでなんですが。
git reflog するとHEADの変遷リストが表示されるので、戻りたいポイントを確認したのち、
そのポイントに向かってgit-resetする
git clean
ローカルリポジトリのindexに乗っかってないファイルを綺麗にしてくれる君
Untracked files に表示されるアレ。
やっぱり、他人(非エンジニア)様の環境に上がってたゴミを綺麗にするのに使ったりする
-n をつけると dry-run になるので、何が消えるかチェックしてから実行すること。
-d ででくレクトリを含む
-x でgit ignore に含まれているものも削除する
-f はgit-config にclean.requireForce を設定していても強制的に削除してくれる。
まあつまり、git clean -n -d -x で確認した後、git clean -f -d -x すること