0
0

More than 1 year has passed since last update.

「Gitでのタスク依存関係」タスク1が終わらないとタスク2が進めないときに

Posted at

はじめに

基本的に新しいタスクを取り組むときに、mainまたはmasterブランチから新しいブランチを切ると思うよね。しかし、チーム開発でよくある問題で、「このタスクがまだマージされないから、関連するタスクが進めないよ」という時にどうすればいい?

具体的な事例

タスク1とタスク2の関係がある。タスク1が終わらないとタスク2が進めない状態。タスク1を先にやって、PR作成して、レビュー待ちの状態になっている。今はタスク2をやると思ったらまだレビューを待っている。

解決方法

ブランチを切る

基本的にタスク1(PR作成したブランチ)からタスク2のブランチを切る!

git graphを見るとこういう感じ

...---A---B---C  master
           \
            D---F  task1

ここでタスク2のブランチを切る

...---A---B---C  master
           \
            D---F  task1
                 \
                  H---I  task2

タスク1のPRがマージされたら

...---A---B---C---M  master
           \     /
            D---F  task1
                 \
                  H---I  task2

そこから、開発を進んでいくといいと思う!
しかし、タスク1がレビューされて修正がある場合にどうしよう?

ここでは、タスク1をマージされることを待って、masterブランチからタスク2にマージする。理由はmasterにマージされるということは、修正が終わったため、修正した部分を今のブランチにマージして大丈夫!(Mはマージされたコミット)

...---A---B---C-------J  master
           \         / \
            D---F---G   \  task1
                 \       \
                  H---I---M  task2

タスク2がmasterにマージする時に

タスク2が完成して、masterにマージしようとして、直接masterにPRを作成する

...---A---B---C-------M-------N  master
           \         /       /
            D---F---G---H---I   task2
                    |
                 task1

こういうgit historyになります!
また、タスク1の修正があっても、タスク2にマージされるので、コンフリクトが起きないはず!

最後に

gitを使って管理できるけど、レビューによって仕様が変わったり、修正点もあるから、結局タスク2で結構な修正があるかもしれない。一番いいのが、他のタスクがあれば、そっちに進んだ方がいいと思われるだろう。
あくまで、調べた回答と自分の経験で書いたので、もっといいやり方があれば教えてください!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0