みなさん、こんにちは!
一人Gitなのでたくさんのブランチはそんなに使ってないタカハシ(@ntakahashi0505)です。
非エンジニアのGit初心者向け、GitクライアントツールSourceTreeを使ったバージョン管理の方法をお伝えしています。今回でもうおかげさまで4回目ですね。
前回はこちらの記事です。
過去に残したバージョン(コミットという名前でした)のうち、目的のバージョンに戻す方法をお伝えしました。
Gitのバージョン管理なら、バージョン別に物理的に異なるファイルをたくさん用意する必要もありませんし、中身を見なくても更新履歴がわかるようになります。
フォルダの中がスッキリするわけです。
さて、今回はバージョン履歴を分岐させるブランチと呼ばれる機能、分岐した履歴を統合するマージと呼ばれる機能について、GitクライアントのSourceTreeを使った方法についてお伝えしていきますね。
これによって、安定バージョンを確保したままのアグレッシブ(?)なファイルやプログラムの実現をすることができますよ。
では、いってみましょう!
ブランチを切ってバージョン履歴を分岐させる
ブランチ(branch)は「枝」という意味ですね。
その名の通り、Gitバージョン管理において分岐点を作って履歴を枝分かれをさせることを言います。
ちなみに朝食と昼食のアイノコはbrunchです。全然別の単語っす。
では早速SourceTreeでブランチを切ってみましょう。
SourceTreeでブランチを切る
分岐を作りたい地点のコミットを選択している状態で上部のアイコン群から「ブランチ」のアイコンをクリック。
「ブランチ」のウィンドウが立ち上がりますので、新しく作るブランチの名前を入力して「ブランチの作成」。
ちなみに、コンソールでのGitコマンドは
git branch hoge
と書くそうです。
ではSourceTreeの画面を確認してみましょう。
このように、「master」「hoge」が同じコミットに並んでいますね。
左側のメニューでも「ブランチ」の配下に「hoge」「master」と二つになっているはずです。今現在いるブランチは太字で表現されていますので、現在は「hoge」にいます。
分岐したブランチでコミットをしてみる
では、「hoge」にいる状態で別のコミットをしてみましょう。
こんな風に、例えばTest2と書いた行をTest3に変更してコミットをしてみます。
すると、このように「hoge」だけ次のコミットに移動しましたね。
Gitバージョン管理でのブランチの使いどころとは
ブランチはどんな時に使うかという言いますと
- 大きな修正や追加を加えたいがちゃんとできるか心配
- ちょこちょこ直しがあって安定バージョンをわかりやすくとっておきたい
こんなときです。
ブランチを切ってそちらで作業を進めることでmasterを安定バージョンとしてとっておくことができます。
すげー気持ちよくないですか?
ブランチを切り替えるチェックアウトと統合するマージ
分岐したブランチがうまくいった場合、それを安定バージョンのmasterに置き換えたい場合はどうしたらよいでしょうか?
そのときにはGitではマージ(merge)という作業をします。日本語では融合するとか、合併といった意味ですね。
SourceTreeでチェックアウトをする
先ほどの続きにて、ブランチした「hoge」を「master」にマージしたいのですが、この場合は「master」に「hoge」を吸収するイメージになりますので、今いるブランチを「master」に切り替えます。
左側の「ブランチ」のメニューで「master」をダブルクリックすると、今いるブランチを「master」に切り替えることができます。
このブランチを切り替える作業をGitでは「チェックアウト」と言います。
このチェックアウトをするGitコマンドは
git checkout master
とするそうです。チェックアウトに関しては完全にGUIツールであるSourceTreeを使ったほうがわかりやすいですね。初心者にはありがたいです。
SourceTreeでマージをする
さて、チェックアウトしましたら、上部のアイコン群から「マージ」をクリック!
すると「マージ」のウィンドウが開きますので、吸収するコミットを選択して「OK」。
これにてマージが完了!「master」と「hoge」が同じ場所に移動しましたね。
まとめ
今回もGitならではの素敵な機能を紹介することができまして大変満足です。
おさらいしますと
- バージョン履歴を分岐するブランチ
- ブランチを切り替えるチェックアウト
- 分岐したブランチを統合するマージ
といった機能とSourceTreeでの操作方法についてお伝えしました。
ちょっとしたファイルやプログラムでしたらmasterだけでも問題ないのですが、一人で作業をしていたとしても何回も時間をかけて提出したり更新をしたりするような資料だったりプログラムだったりでしたら、これらの機能がとても助けになると思います。
安定バージョンを確保して作業を進めるのって、こんなに心が安らぐのか…と思うことでしょう。
というか、このシリーズでは一人で作業をしていますが、複数人で作業をするときは、このブランチとマージでの作業が当たり前になります。
さて、次回はマージしたときに発生する困ったやつ「衝突」を解決する方法についてお伝えしています。
合わせてご覧ください!