はじめに
みなさんgit
は使用してらっしゃいますでしょうか。
そうですversion管理ツール git
です。
チーム開発の経験がある方なら一度は経験したことがあると思います。
ブランチを生やすという行為を。
ではなぜブランチを生やす必要があるのでしょうか。
今回はそれについて話していきたいと思います。
ブランチを生やす理由
基本的にブランチを生やす理由としては
-
main
(develoip
)ブランチを綺麗にした状態にできる。 - リリースによるバージョンを管理できる
ということが挙げられます。
とこのように端的に言われてもわかりづらいとは思うので次に例えを使った説明となります
1.main
(develoip
)ブランチを綺麗にした状態にできる。
main
ブランチをきれいにした状態にできるとはなんなのか
料理を例に取ってみましょう
筑前煮 という料理をご存知でしょうか
そうです あの筑前煮ですね
筑前煮という料理はそれぞれの具材をそれぞれ調理して最後に一つに合わせることで完成します。
ではその中でにんじんだけ丸焦げにしてしまった場合これを最後合わせるでしょうか。
合わせませんね。だって筑前煮が美味しく出来上がりませんから。
面倒ですがもう一度にんじんだけ調理しなおしますよね。
そして人参がちゃんと美味しく調理できたら筑前煮に合わせます。
この筑前煮
がgitにおけるmain
(develop
)ブランチであり、人参
がbranch
であるわけです。
branch
において、綺麗なコードができるまではmain
ブランチにマージできません。
だってmain
ブランチが汚くなってしまいますから。
チーム開発においては人参を調理する人
、椎茸を調理する人
、蓮根を調理する人
、と分かれるかもしれませんが、最後には美味しい筑前煮(コード)
が出来上がることが目標となっています。
チームメンバーの中に一人でもmain
ブランチで作業をする人がいたらどうなるでしょうか。
その人がもし調理法を間違えると最終的に出来上がる筑前煮が美味しくなくなってしまうのです。
このようにブランチを生やすという行為はmain
ブランチが綺麗に出来上がるための礎となっているのです。
2.リリースによるバージョンを管理できる
では次にリリースによるバージョンを管理できる
について
ここでも料理を例に取ってみましょう。
みなさんカレー
はご存知ですね。
そうです あのカレーですね。
皆様の中には辛いカレー
が好きな方や辛さ控えめのカレー
が好きな方もいらっしゃるでしょう。
ではみんなでカレーを作るときに辛いカレーが好きな方
と辛さ控えめのカレーが好きな方
の両方の要望を叶えるにはどうすればいいでしょうか。
別々に調理する?
できないこともないですが効率はよろしくないですね。
ここで取れる手段が具材を煮込むとこまではどっちも一緒にやってしまうことです。
煮込み終わったら鍋を分けてそれぞれの辛さに合うようなルーを入れればいいですね。
ここで鍋を分ける
という行為がリリースによるバージョンを管理できる
ということになります。
煮込み終わった時点のカレーがバージョン0.5
辛さ控えめなカレーがバージョン1
、
さらに辛くなったのがバージョン2
となります。
これをgit
に置き換えると、
コードのベースが出来上がった
時点でバージョン0.5
そこからさらに機能を追加したもの
がバージョン1
,
さらに機能向上などを行なったもの
がバージョン2
このように過去の状態(からくない状態)として切り離すことで、さまざまな味を楽しむことができます。
これがリリースによるバージョンを管理できる
ということになります。
結論
ブランチはきろう
著者はプログラミングを始めてまだ日が浅いため、厳密には違うことを言っているかもしれません。
もし間違っていることや、他にもっと重要な機能があるということがございましたら、後学のためにも教えていただけましたら幸いです。