ブランチ
ブランチって何?
- コミット履歴をプロジェクトの本流から分岐して記録する機能。
- 開発内容ごとにブランチを作成することで、プロジェクトの本流や別のブランチから独立してソースコードに変更を加えることができる。
マージ
- 他のブランチの内容を取り込み、2つのブランチを1つに統合すること。
- マージする際は、マージしたことをコミットを作成して履歴に残す。
ブランチの仕組み
- それぞれのコミットが、どのコミットの次に作成されたものかを保持している。
- 親コミットへのポインタ(コミットハッシュ値)を持つ。
- それぞれのコミットが親コミットへのポインタを持つことにより、コミット履歴を遡れるようになる。
- ブランチは、コミット履歴の先頭(HEAD)を指すポインタである。
- HEADは、現在参照しているコミットを指しているポインタ。
そもそもコミットって何?
- コミットを作成すると、「コミットオブジェクト」が作られる。
コミットオブジェクト
- コミットオブジェクトには、以下の内容が含まれる。
- 親コミットのコミットハッシュ値
- コミットの作成者
- コミットメッセージ
- コミット作成時のスナップショットに含まれるtreeオブジェクト情報