Skip to content

ブランチ

ブランチって何?

  • コミット履歴をプロジェクトの本流から分岐して記録する機能。
  • 開発内容ごとにブランチを作成することで、プロジェクトの本流や別のブランチから独立してソースコードに変更を加えることができる。

マージ

  • 他のブランチの内容を取り込み、2つのブランチを1つに統合すること。
  • マージする際は、マージしたことをコミットを作成して履歴に残す。

ブランチのイメージ

ブランチの仕組み

  • それぞれのコミットが、どのコミットの次に作成されたものかを保持している。
    • 親コミットへのポインタ(コミットハッシュ値)を持つ。
  • それぞれのコミットが親コミットへのポインタを持つことにより、コミット履歴を遡れるようになる。
  • ブランチは、コミット履歴の先頭(HEAD)を指すポインタである。
    • HEADは、現在参照しているコミットを指しているポインタ。

そもそもコミットって何?

  • コミットを作成すると、「コミットオブジェクト」が作られる。

コミットオブジェクト

  • コミットオブジェクトには、以下の内容が含まれる。
    • 親コミットのコミットハッシュ値
    • コミットの作成者
    • コミットメッセージ
    • コミット作成時のスナップショットに含まれるtreeオブジェクト情報