Git

【Git】ブランチとは?その仕組みと、ブランチの切り方、編集、マージまで。

どうも、とがみんです。

この記事では、Gitにおけるbranch(ブランチ)とは何か?ということと、

SourceTreeとGitHubを利用した、branchの切り方、編集marge(マージ)の仕方について紹介していきます。

branch(ブランチ)とは

「branch(ブランチ)」とは、プロジェクト本体に影響を与えずに、複数人が同時並行で開発を行えるようにする機能のことです。

この機能の仕組みについて説明していきます。

まず、プロジェクトを作成し、初めてcommitした時に、プロジェクトの本流のブランチであるmasterブランチが作成されます。

下図でいう「緑」のブランチです。

>引用:ブランチとは|サルでもわかるGit入門

そして、上図では、新たにブランチを作成する(ブランチを切る)と、切った時点におけるmasterと同じ状態のデータが生成されます。

上図の「紫」「青」「ピンク」が新しく作成されたブランチです。

それぞれのブランチで、ファイルを変更しても、本流の「緑」のブランチや、他のブランチには全く影響を与えません。

なので、ブランチを切ることによって、複数人が同時に開発を進めることができます。

それぞれのブランチで異なる機能を開発し、エラーなく動作することが確認できたら、本流のブランチにmargeし、1つのブランチにまとめ直すこともできます。

上図でもわかるように、margeすることで、本流の「緑」のブランチにも反映されていっていることがわかります。

ブランチの切り方、編集とマージまでの方法

masterブランチから、developブランチを作成し、編集後、masterブランチにmargeするという操作を、実際にSourceTreeを用て行ってみます。

SourceTreeのBrunchを選択し、New Brunch「develop」と入力し、Create Brunchボタンを押します。

Checkout new branchにチェックを入れた場合、今いるブランチから、新しく作ったブランチに切り替わります。

developブランチ作成後、以下のように、masterと同じ状態のdevelopブランチが作成され、masterブランチから、developブランチに切り替わっていることがわかります。

現在、gitTest.htmlファイルの中身は以下のようになっており、developブランチmasterブランチが同じ状態です。

これを以下のように編集して、developブランチ上でcommitします。

Historyをみて見ると、developが最新の状態になっています。

ここで、masterをクリックし、 ブランチをmasterに切りかえた後、gitTest.htmlファイルの中身を確認して見ると、変更内容が反映されていないことが確かめられます。

次に、developブランチの内容をmasterブランチmargeし、変更を反映させます。

margeブランチにいる状態で、以下のmargeボタンを押し、margeさせたいところを選択し、OKボタンを押します。

すると、以下のようにmasterdevelopと同じ状態になりました。

margeブランチにチェックアウトした状態で、gitTest.htmlの中身を見てみると、変更が反映されていることが確認できます。

最後に、変更内容をリモートリポジトリのgitTest/masterに反映させます。

画面左上のPushボタンを押し、変更を反映させたいブランチにチェックを入れ、OKボタンを押します。

今回は、masterdevelopの両方にチェックを入れ、それらに変更を反映させます。

すると、リモートリポジトリ上のブランチとローカルリポジトリのブランチが全て同じ状態になりました。

GitHub上で確認して見ると、変更が反映されていることが確認できました。

また左上のBranch:masterのボタンから、ブランチを切り替えて確認することができます。

まとめ

ブランチとは何か、その仕組みと、実際にブランチを切って編集し、margeして変更を反映させる方法について説明しました。

何か不明点、疑問点等あればご指摘いただけると嬉しいです。

参考文献

>ブランチとは|サルでもわかるGit入門