git ローカルでの管理

git でせっかくバージョン管理しとっても変更点の確認とか,リセットとかできな意味ない.もろもろメモしとく

基本

git add [file]
git commit -m "..."

コミットの履歴確認

git log
  • commit履歴表示
git log -p
  • commit履歴のそれぞれの表示内容の表示
git log --stat
  • commit履歴の差分のあるファイル一覧の表示.
git log --decorate
  • ブランチの場所付け加えてくれてちょい見やすい

現在のワーキングツリーの把握

git diff
  • 最新commitと現在のワーキングツリーとの差分表示.
git status
  • staging状況の確認.

作業を戻す

1.revert

差分を相殺して打ち消し.

git revert HEAD
  • 最新commit (HEAD) の1つ前のcommitに戻すことを新たなcommitとして行う.

2.reset

差分を取り消し.消えちゃうので注意.

git reset --hard [commit名]
  • ワーキングツリー・インデックス・コミットをすべてcommit名と同じ状態にする.
  • 作業が消えるということ.気をつける.
  • commit名省略するとHEAD (以下,他のオプションでも同じ).最新コミットと同じ状態にすることになる.
git reset [commit名]
git reset --mixed [commit名]
  • インデックス・コミットをすべてcommit名と同じ状態にする.(ワーキングツリーは変わらず)
  • git resetでインデックスを取り下げることによく使う.
git reset --soft [commit名]
  • コミットのみをcommit名と同じ状態にする.(インデックスとワーキングツリーは変わらず)
  • commit名にHEADを指定しても要するに何も起きん.

参考: git reset についてもまとめてみる - murankの日記