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にコミットという手順で進んでいく。
コメント