gitの便利コマンド備忘録

備忘録的に…。

まだpushしていないcommitを見る(masterブランチの場合)

git log origin/master..master
commit間のファイル差分を見る
git diff --stat commit commit
複数のcommitをくっつける(squash)する、or 消す
# squashしたいcommitが20個以内にある場合、下記のコマンドを打つと
git rebase -i HEAD~20
# 下記のような感じで画面に出力される。
# squashしたいやつをpick -> squashに変えると前のコミットと同居される
# 消したいやつは行ごと消す
pick 4526f6a add hoge
pick d12c991 modify hoge
pick 44e1104 modify hoge again
mergeを取り消す。 git mergeしてコンフリクトが起きたのでとりあえずもとに戻したい時に打つコマンド。 mergeの時はmerge前の状態がORIG_HEADに保存されているらしい。
git reset --hard ORIG_HEAD
リモートブランチを最終更新日順にリストする
(for i in `git branch -r | colrm 1 2` ; do echo `git log --date=iso8601 -n 1 --pretty="format:[%ai] %h" $i` $i ; done) | sort -r