Gitコマンドのイメージ図
Gitの作業空間は4つある。
- RemoteRepository
- LocalRepository
- Staging Area
- Working Directory
Gitで作業をしていてこの4つ作業空間で迷子になったことはないだろうか?
「この空間の変更を戻すにはどうするんだっけ?」
「このdiffコマンドはどことどこの差分を見てるんだっけ?」
間違えるとチーム全体に影響を与えてしまう重要な知識であるにも関わらず、意外とちゃんと理解して作業している人間が少ない。
Google検索で見つけたそれっぽいコマンドを惰性で打っている人が結構いる。動きは正確に理解しているけれでも用語が整理されておらずチームメンバーに正確に伝えられないベテランもいる。
わかりやすくまとめてみたので参考にしてほしい。
コミットのイメージ図
切り戻しのイメージ図
git rest --softで1つ前のHEAD位置を表すときは「HEAD~1」でもよい。「~」は何世代前かを表し、「^」は親branchが複数ある場合にどのbranchか表す。
gitコマンドは引数がファイル名か自動で判断してくれる。引数がファイル名であることを明示したい場合は「--」をファイル名の前に付ける。
差分確認のイメージ図