branchとは
branch(ブランチ)は、gitを使う上でとても大切な概念です。
下図にて説明します。
緑の丸が1つのcommitで、左から1番古いcommitになります。もしbranchを切っていない場合は、main branchにて作業をしているかと思います。branchというのは、commitのポインタで、要は特定のcommit時点のファイルの状態を指し示すものになります。
このgit init時点で存在するmain branchは大元のbranchで、実際に動いているコードそのものになるかと思います。
そのmain branchのコードを編集せず、複数人で開発していくために、branchを切って開発をしていきます。
例えばAさんがmainからfeature1というbranchを切って、commitを積んでいき、Bさんがmainからfeature2というbranchを切って、commitを積んで行った際に、お互いのファイルを結合したとしても、main branch自体は変更がなく、お互いの変更は、feature1とfeature2のbranchを取得することで、確認することができます。また、Aさんが緊急のバグ対応が入り、別の作業をする必要がある場合は、mainに戻り、そこからbranchを切って作業することで、完全にcommitを分けることができます。

また、HEADという概念があり、HEADは自分が作業している場所を示すポインタになります。
上記の場合は、feature1が今自分が作業している場所ということになります。
Last updated