バージョン管理Tweetこんにちは!志田です。最近ドラクエモンスターズを購入しました。だいあくまの書・シュプリンガー・メッサーラのパーティでがんがんいってます。配合を繰り返していると、「この組み合わせ、AにもBにもなるのに!どっちが強くなるんだろう?」ということがたびたび起こります。そんなときに使えたらいいのが、今回ご説明するブランチです。前回のあらすじ前回の記事では、バージョン管理と基本的な動作について、ご説明しました。・バージョン管理にgitを使おう!・コミットを繰り返し、キリのいいところでプッシュする・コミットを重ねることでバージョン管理ができるこんな経験ありませんかみなさん、これまでの経験で、こんな経験ってありませんか?・直すことによる影響範囲が広いため、もしきちんと改修できて、テストもできたら安定バージョンに含めたい今まで何度もコミット・プッシュを重ねてきたプロジェクト。今までのコミットの流れは、こんなかんじです。修正のバージョンで、今以上によくなっているはず。ブランチひとつのプロジェクトから枝分かれをさせ、別の作業を行うことを「ブランチを切る」といいます。する」といった意味があります。ブランチを切るというのは、「現行バージョンから枝分かれをさせる」という意味になります。先ほどの図でいうと、安定バージョンを「masterブランチ」といいます。これは、gitで管理をしている本流の、もともとのブランチのことで、自動的にmasterブランチと名前がついています。ポケモンでいうと、サトシがイーブイゲットしたとき、もともとはサンダースにするつもりでした(masterブランチ)。イーブイは1匹しかもらえないので、シャワーズとブースターも図鑑に書き加えたいです。masterブランチのほかに、シャワーズにしたバージョンとブースターにしたバージョンのブランチを切り、あとでそれらをまとめれば、一気に全部の系統が図鑑に加えられます!やった!ポケモンにもドラクエモンスターズにも美少女ゲームにも、ブランチが欲しいところですね。プロジェクトでブランチ疑似体験では、実際にやってみましょう。まさとしさんは、自社のHPを作るプロジェクトを任されました。git管理のプロジェクトを作成しました。.gitそして、そこにindex.htmlを作成しました。ようこそ!アシアルのホームペーズへ!index.htmlができました。うーん、我ながらいい出来。addをして、git管理下に含めます。commitをして、現在の状況をコミットしました。commitコミットには、ひと目でなにがしたかわかりやすいようにコミットメッセージをつけます。index.html#ひとまずこの状況を本番状態としました。数日後、まさとしさんは上司に呼ばれました。本当だ・・・ホームページと打つつもりが、ホームペーズになっていました。それに、いい文章も思いついちゃったんだよな。本番はとりあえずバグなく動いているし、修正がちゃんとできてから、チェックをしてから本番に反映したい。ブランチを切るとりあえず、現在のブランチを確認します。branchと入力します。した状態だと、masterというブランチができています。これまでにご説明したとおり、本流のブランチになります。ここからタイポ(打ちミス)を修正するためのブランチを作成します。入力することで、ブランチを作ることができます。branchコマンドで一覧を確認しましょう。typoブランチの一覧を確認すると、たしかに「typo」ブランチができていることがわかります。いままさとしさんが編集しているブランチはmasterで、行頭に*マークがついています。typoブランチに切り替えて、本当に切り替わったか確認します。typo*マークが移動し、ブランチがmasterからtypoに切り替わったことがわかります。ファイルの中身を確認してみましょう。ようこそ!アシアルのホームペーズへ!特に変わっていません。masterブランチからブランチを切ったために、masterブランチの状態(index.htmlがコミットされた状態)から編集履歴が枝分かれしているだけだからです。分かれた瞬間なので、なにも変わっていません。タイポを直して行きましょう。タイポを直すついでに、さっきひらめいた素敵なコピーも追加します。ようこそ!アシアルのホームページへ!PHPでの開発ならまかせてください!修正したので、状態を見てみます。typoとあることから、typoブランチでの修正であることがわかります。gitの管理下に追加し、コミットしましょう。index.html#コミットはできましたが、今修正した内容が本番であるmasterブランチにも反映されてないかな?大丈夫かな?まさとしさんを不安が襲いました。切り替えて確認してみます。index.html・・・よかった!まだmasterブランチは訛ったトップページのままです。先ほどのtypoブランチをmasterブランチにマージします。ポケモンでいうと、イーブイをブースターにしたデータを、イーブイをサンダースにした本命データに統合して図鑑を埋めることです。deletions(-)なにやら、index.htmlがマージされたようです。内容を確認しましょう。おお!直っています!そのうえ、さっき追加した素敵なコピーも追加されています。やった!では、もうこの「typo」ブランチは必要ないので、削除しましょう。いうように、-dのオプションをつけます。master削除後に確認したところ、きちんとtypoブランチが削除され、元のmasterブランチだけになりました。mergeを行ったことでmasterブランチに含められたので、typoブランチを消した今でも、masterブランチにその修正が残っているのです。便利なブランチブランチはいくつも作ることができます。バグ単位で修正をしたり、大掛かりな修正をブランチとして切ったり、Aブランチで行き詰まった時にBブランチを移動して、ブランチも頭も切り替えてすっきり作業するなど、ブランチにはたくさんメリットがあります。わかりやすくなるかと思います。みなさんもブランチ切ってくださいね。byスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。