渋谷ほととぎす通信

「Unityをわかりやすく」初心者のためのゲーム作りブログ

【UIデザイナー向け】もう迷わないgitのブランチを切る場所

【UIデザイナー向け】もう迷わないgitのブランチを切る場所

こんにちは、エンジニアのオオバです。

非エンジニアにとってgitは難しい。
そもそも gitGitHub の違いも難しい。

  • git はアプリケーション
  • GitHubはWebサービス

正直そんなことはどうでも良いです。

ところで仕事をしていて、
「オオバさん、ブランチをどこから切ればよいですか?」

と非エンジニアの方から聞かれるときがあります。

そもそも質問者は自分でブランチを切ることが
わかっているフェーズまで来ている。

ということは かなりのgit熟練者
ただしgit熟練者でもブランチの切り方は難しいんだなと実感。

そこで本記事ではブランチを切るときの迷いをなくす方法を
解説したいと思います。

これを読めば今後 ブランチを切る迷いがなくなるでしょう。

マージ先からブランチを切る

結論を簡単にまとめます。

  • マージ先のブランチを切る
  • ブランチは最新状態で切る
  • 最新状態で切る理由はコンフリクト回避と先祖還り回避のため
  • 迷ったときはマージ先のブランチを確認する

基本方針として「最新の状態からブランチを切る」でOKです。

理由は コンフリクトを回避するため。
また、古い状態で作業をすると
修正した箇所が元に戻ってしまう先祖還りも発生 するからです。

ただし、最新の状態がどこなのか、わからなくなることもあります。
そういうときは マージ先のブランチ
最新状態にするというのが答えになりますが、
わかりづらいですよね。

このあたり、わかりやすく解説していきます。

👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!

gitで「ブランチを切る」とは自分の作業環境を作成すること

ブランチを切った図

【UIデザイナー向け】もう迷わないgitのブランチを切る場所_0

ブランチとは自分の作業環境です。
自分の作業環境を作ることを「ブランチを切る」と言います。

オオバ
オオバ
なぜブランチを「作る」ではなく「切る」のかはわかりません

複数人で開発していると同時多発で作業が発生します。
メンバーがそれぞれブランチを切って作業。

作業がマージされる図

【UIデザイナー向け】もう迷わないgitのブランチを切る場所_1

本流ブランチにマージしていきます。
多人数開発を円滑に進めるためにgitはよく使われますね。

なぜ最新状態からgitのブランチを切るのか

最新状態からgitのブランチを切る理由は2つ。

  • コンフリクト回避
  • 先祖還り回避

特に画像をあつかうUIデザイナーの場合は、
コンフリクト回避 が主です。

つまりメンバーとの作業被りによって
片方の作業を削除しないといけない状況を回避 したいのです。

コンフリクトして作業をマージできない状態の図

【UIデザイナー向け】もう迷わないgitのブランチを切る場所_2

ブランチA、ブランチBの両ブランチで
同じ画像ファイル image.png を編集したとします。
ブランチAは先に本流にマージ。
ブランチBはコンフリクトでマージできません。

この場合 どちらかの作業を打ち消す 必要が出てきます。
詳しくはこちらの記事で解説しているのでオススメです。

コンフリクトすると、作業のやり直しが発生し、
時間のロスが大きい です。

作業効率を上げるためにも
最新状態にしてから作業の開始をオススメします。

正常にマージされた図

【UIデザイナー向け】もう迷わないgitのブランチを切る場所_3

ブランチAがマージされたあとに
ブランチBを切って作業します。

すると 正常にマージ されます。

迷ったときはマージ先のブランチを最新化してブランチを切る

最新ブランチは1つではない ときもあります。
複数機能を同時開発しているときです。

大事なのは マージ先のブランチを最新化してブランチを切ること です。

例としてガチャ機能を長期で開発しているケースを取り上げます。
mainブランチからガチャ機能ブランチを切りました。

【UIデザイナー向け】もう迷わないgitのブランチを切る場所_4

ここで ガチャ機能だけに必要な画像を追加する作業 が発生したとします。

このときに切る最新のブランチは、
ガチャ機能ブランチ です。

mainブランチではありません。

重要なのは 「どこにマージする作業なのか?」 ということなのです。

ガチャに対して画像を追加したいため、
マージ先は「ガチャ機能ブランチ」です。

【UIデザイナー向け】もう迷わないgitのブランチを切る場所_5

つまり 「ガチャ機能ブランチ」を最新化したあと
「ガチャ画像作業ブランチ」を切る

というのが正しいフローです。

迷ったときは、 マージ先のブランチを最新化してブランチを切りましょう

まとめ : もう迷わないgitでブランチを切る場所

記事の内容を簡単にまとめます。

  • 「ブランチを切る」とは自分の作業環境の作成
  • コンフリクト回避のためにデータを最新化
  • ブランチを切る場所はマージ先のブランチ

こんな感じです。

大規模な開発になるとブランチ数も多くなり
Sourcetreeが見づらくなりますよね。

こういうときに焦ったりすることもあるかも知れません。

いったん落ち着いて、
どのブランチにマージするか ということを思い出してください。
この1点さえ間違えなければ大丈夫。
事故は起きません。

どうしてもブランチを切る場所に迷うなら 、
今日からできることを紹介します。

エンジニアや周りのメンバーに
マージするブランチの確認 をしましょう。

「この機能はどのブランチにマージすれば良いですか?」
このような聞き方で伝わります。

マージ先のブランチが明確になるということは、
ブランチを切る場所も決まりますよね。

もう迷うことはありません。
ぜひとも マージ先のブランチを確認してみましょう。

「Unity初心者大学」というUnity初心者向けのYouTube始めました!!
ぜひチャンネル登録をお願いします!

最後まで読んでいただきありがとうございました!
すばらしいgitライフをお過ごしください。

オススメ記事