Git 入門③

git branch

Gitでは,変更の履歴をつないで管理します。
その一つ一つをブランチといいます。
ブランチは途中から分岐したり、また一つになったりすることができます。
これにより、開発がしやすくなります。

まず、ブランチの一覧を確認してみます。
この時点でファイルはREADME.mdのみで中身は空です。

$ git branch
* master

masterというブランチが一つあることが確認できました。

新しいブランチを作成

続いて、このmasterブランチからdocブランチを作ります。

$  git checkout -b doc
Switched to a new branch 'doc'
$ git branch
* doc
  master
$

docブランチが作られました。
ブランチ名の横のアスタリスクは現在選択中のブランチを示しています。
ブランチを変更してみます。

$ git checkout master
Switched to branch 'master'
$ git branch
  doc
* master

ブランチでファイルを編集する

docブランチでファイルを編集してみます。

$ git checkout doc
Switched to branch 'doc'
$ echo hello > README.md
$ git add README.md
$ git commit -m "update README.md"
[doc 7d4af09] update README.md
 1 file changed, 1 insertion(+)

これで、docブランチのREADME.mdファイルにhelloと追記しました。
では、masterブランチに戻って、README.mdファイルを確認してみます。

$ git checkout master
Switched to branch 'master'
$ cat README.md

masterブランチでは、README.mdファイルは空のままです。

現時点では以下のようなイメージです。
コミットが二つあり、片方にmaster、もう片方は一つ進んでいてdocがいる、という感じです。

f:id:utouto97:20210702221555p:plain

ブランチを統合する

二つのブランチを一つにまとめることができます。
それぞれのブランチでの編集をまとめることができます。

今回の場合だと、docブランチはmasterブランチ+αの状態です。
masterブランチよりdocブランチがコミット一つだけ進んでいます。
ですので、ブランチを統合するというよりは、masterブランチを進めて、docブランチと同じ状態にします。

$ git checkout master
Switched to branch 'master'
$ git merge doc
Updating a2a67b9..7d4af09
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

イメージとしては以下のようになりました。
docブランチとmasterブランチは同じ状態です。

f:id:utouto97:20210702222244p:plain

masterブランチのREADME.mdファイルを確認してみます。

$ git branch
  doc
* master
$ cat README.md
hello

helloと表示され、docブランチでの編集がmasterブランチにも反映してることがわかります。

終わり