gitでの基本操作を学習しよう。(前回のところまで作業を進めておく)

ブランチ(枝)

最初から存在しているmasterブランチ。実際の開発ではこのmasterブランチで開発を進めることは少ない。通常は何かしら作業用ブランチを作成してそこで作業をする。今回はgitにとってとても重要なブランチを学んでいこう。まずは以下のコマンドで現在のブランチを確認

 
$ git branch
* master
 

masterブランチのみが存在していていまそこを指していることを*で示している。
以下のコマンドで新しいブランチを作成する。

 
$ git branch dev
 

git graphしてみよう。

$ git graph
* 266f605  (HEAD -> master, dev) 2020-01-21 mjpurin third commit
* 5cc2965  2020-01-21 mjpurin second commit
* 27fae62  2020-01-21 mjpurin first commit

ブランチを作成した時点を指すdevというブランチが作成された。
存在しているブランチも確認してみよう。

$ git branch
  dev
* master

masterブランチの他にdevブランチが作成されていることがわかる。ただ*はmasterブランチを指している。devブランチに移動しよう。

 
$ git checkout dev
Switched to branch 'dev'
 

git ではcheckout というコマンドブランチ間を移動する。
branchの状態を見てみよう。

$ git branch
* dev
  master

*がdevに移動していまdevブランチを指していることがわかる。

実際にdevブランチ上で作業してみよう。viでtest.txtを開いて4th_lineの1行を追加する。

first_line
second_line
third_line
4th_line
 

wqしてaddしてcommitしよう。commitメッセージは”4th追加”とする。
コミットしたらgit graphしてみよう。

$ git graph
* 2bf39e4  (HEAD -> dev) 2020-01-23 mjpurin 4th追加
* 266f605  (master) 2020-01-21 mjpurin third commit
* 5cc2965  2020-01-21 mjpurin second commit
* 27fae62  2020-01-21 mjpurin first commit

devブランチで作業が進んでいることがわかる。この変更が気に入らない場合にはいつでもmasterの状態に戻れる。checkout masterしよう。

 
$ git checkout master
Switched to branch 'master'

masterブランチに移動した。viで確認してみよう。4thが追加される前に戻っているはずだ。

再びcheckout devしよう。

$ git checkout dev
Switched to branch 'dev'

 

viで確認すると4thがある状態になっている。このようにブランチを作成すると容易にバージョン間の移動ができる。
上司に確認をもらったところこれでOKがでた。masterブランチにこの修正を加えよう。

merge

masterブランチにdevの変更を取り込みたいのでこういった場合はまずmasterブランチにcheckoutする。

$ git checkout master
Switched to branch 'master'

そしてdevをmergeする。

$ git merge dev
Updating 266f605..2bf39e4
Fast-forward
 test.txt | 1 +
 1 file changed, 1 insertion(+)

mergeが成功した。git graphで確認

$ git graph
* 2bf39e4  (HEAD -> master, dev) 2020-01-23 mjpurin 4th追加
* 266f605  2020-01-21 mjpurin third commit
* 5cc2965  2020-01-21 mjpurin second commit
* 27fae62  2020-01-21 mjpurin first commit

masterブランチにdevで行った修正が取り込まれて同じ状態になったことがわかる。viで確認してみよう。4thがあることがわかる。これで修正が完了した。
いらなくなったdevブランチを削除しておこう。

 
$ git branch -d dev
Deleted branch dev (was 2bf39e4).
 

-dはdeleteのdだ。こうしてdevブランチを削除することができた。
git graphで確認

$ git graph
* 2bf39e4  (HEAD -> master) 2020-01-23 mjpurin 4th追加
* 266f605  2020-01-21 mjpurin third commit
* 5cc2965  2020-01-21 mjpurin second commit
* 27fae62  2020-01-21 mjpurin first commit

修正が反映されmasterブランチのコミット履歴が進んだ。

このように実際の制作は作業ブランチを作ってそこで作業し、確認が済んだらmasterにコミットという手順で進んでいく。