git関連で学んだことを箇条書きにしてみた

はじめに

学んだ内容を日報に書いているのですが、git関連の学んだことが多すぎたのでブログに突っ込もうと思い綴っています。

 

- ブランチ=コミットについたラベル、ブランチに対してコミット->最新コミットに追従
- HEAD=現在作業中のコミットを指す特別なラベル、ブランチにくっついて一緒に動く
- Detached HEAD=ブランチから外れて特定のコミットを指した状態
- タグ=コミットについたラベル、ブランチと違い、最新コミットに追従しない
- git checkout main, HEADを特定のブランチやコミットに設定、ワークツリーとインデックスをHEADの内容に更新
- gitは3way merge
- 競合(conflict)=同じ箇所を同時並行で変更すること、競合を修正し保存,git add&git commitで解決
- Fast-forwardマージ=単にポインタ(ブランチ、ラベル)を動かすだけで事足りる状況
- リベース(rebase)=ベースを付け替える作業、別ブランチで作業中にmainが更新されてしまった際にrebaseすることで最新のmainからブランチしたかのようになる
- git reset --soft=HEADを指定したコミットにリセット、--mixed=インデックスをリセット、--hard=インデックスとワークツリーをリセット
- git stash save,git stash pop, git stash list、一時的に変更を退避させる場所がstash(スタック構造)
- commitは単一の関心ごとのみ現在形で
- git resetはブランチのポインタを後方に移動することで変更のキャンセルを実現、
- 変更を巻き戻して他の人とそれを共有するためには git revert