-
1:ID:rnMhrx · 6日前

Gitの使い方で悩んでいます。たとえばマスターブランチ(A)でシステム開発しているとして、新機能を追加するので開発ブランチ(B)に切り替えたとします。

その後、開発中にバグが見つかったのでAを修正したいと思いました。この後に取る管理方法はどうなるのでしょうか?

1:Aに戻ってバグ修正し、Bも修正する
2:Bだけ修正し、新機能を追加した後に統合(C)ブランチを作る
3:Bを修正し、AのバグはGit管理外で修正する

など思いついたのですが、スタンダードなやり方はどれになるのでしょうか?

12 件の回答

2:ID:EZpktF · 5日前

新機能開発前のコミットから新たにブランチを作って、マスターと開発両方にマージかな

3:ID:Ov7PpG · 5日前

Gitって1をやる為のツールじゃないの?
1と2って優先順位の話だと思うんだけど、それでBに影響がでないなら、それでもいいんじゃないかな。
3は、Git運用してるなら論外だと思う。どうしてもそうしなければならない理由がない限り避けるべきじゃないのかな。

4:ID:6YUFtU · 5日前

やり方はそれぞれだから一意の解はないと思う。
バグ修正の緊急度にもよるからなんとも言えない部分もある。
修正が急を要する場合は、マスターブランチからホットブランチをつくって、マスターとBブランチにマージする感じになるんじゃないかな。

5:ID:2w2blW · 5日前

git flow学べばいいんでね?
そのまんまの答えがあるよ。

6:ID:NAbT/v · 4日前

マスターブランチで、直接開発するなって話では?

7:ID: · 4日前

Re:2
新たにブランチを作ってマージとのことですが、AもBも内容が異なるのにマージできるのでしょうか?

8:ID: · 4日前

Re:3
1が一番最初に思いついたのでおっしゃるとおりだと思います。ただ、2つのブランチを修正することに違和感ありまして。(とはいえ、AもBも内容が異なるので、2つ修正するのは当然かも知れませんが)
3は一時的な対応ですかね。Bをリリースする前にAを使用する可能性がある場合、ブランチ外でやるのかな?と思ったりしました。でも、Git管理しているなら論外ですよね。

9:ID: · 4日前

Re:4
バグが発生する際はだいたい緊急時が多かったりします。次期バージョンではバグ修正もしているとはいえ、現バージョンもしばらく使用する場合、バグ修正が必要になります。Aのバグ修正がBに反映されて、かつ競合しないようにするには、どう管理するればいいか?マージすればいいか分かっていないので質問しました。もう少し勉強します。

10:ID:EZpktF · 4日前

Re:7
Aで発生しているバグとBで開発してる箇所が同じじゃなければ問題なくマージ出来る
開発中のものがバグと同じ箇所なら戻ってやりなおすべき

11:ID: · 4日前

Re:10
質問の要件ですと、「Bの開発中にAのバグが見つかった」ですので、Aのブランチに戻りバグを修正。そしてBのブランチに戻りAの箇所にあったバグを修正、ということでしょうか?これが一番無難な気がしますが、二度手間な気もします。

12:ID:dJnlIz · 3日前

自然に考える

マスターブランチ(A)でシステム開発しているとして、新機能を追加するので開発ブランチ(B)に切り替えたとします。
その後、開発中にバグが見つかったのでAを修正したいと思いました。
1:Aに戻ってバグ修正する。
2:BにいきAのバグ修正をマージする。

13:ID: · 3日前

Re:12
やはりそれが自然であり、当然ですよね。「二度手間になる」と思わずに、「これが普通のやり方」だと思って納得します。みなさんどうもありがとうございました。


あと文字
ご利用の際は、利用規約をご一読ください。

一緒に読まれている質問

ページ上部に戻る