2017-03-24 13 views
1

私は他のいくつかの開発者と一緒にプロジェクトを進めています。私はマスターブランチからブランチxxを作成し、いくつかの変更を加えてプルリクエストを提出しました。Git - 別のブランチからブランチを作成する

プルリクエストはまだマージされていませんが、他の問題や変更については引き続き作業する必要があります。それで私はxxから別の支店で働く必要があります。

この新しいブランチでは、xxまたはmasterから作成する必要がありますか? masterから作成すると、xxからの変更はそこにはなく、これらの変更はコードにいくつかの基本的なバグを修正します。 xxからブランチを作成した場合、このブランチのPRを作成すると、それにはxxのコミットが含まれているため、競合が発生します。

この場合、どうすればよいですか?

答えて

0

意味的である限り、第2のブランチ(xx2と呼ぶ)をxxから作成し、その上で作業するのは問題ありません。もちろん、全く新しい機能はmasterから分岐する必要があります。

xxがマージされ、後でxx2のプル要求を発行すると、xxからのコミットは既にマージされており、再度マージされません。少なくとも、リベースやその他の履歴書き換えオプションを実行していない場合。もしあなたがそうしたとしても、これは矛盾につながることはありません。

+0

重要な部分は、xx2が作成されたときにxxブランチに対して行われた変更に強く依存するということです。つまり、後で誰かがxxブランチ上で行われた変更のどれもがマスターなどにマージされないと判断した場合、 xx2は、xx2が作成されたときにxxに存在する変更が、xx2ブランチの一部でもあるので、xx2に含まれることに気づくことが重要です。 –

+0

それはもちろん当然ですが、私はここで問題は見ません。 'xx'からの変更が拒絶されると、おそらく' xx2'で提案されたときに拒否されます。そして 'xx2'の変更は' xx'の変更がなければ機能しないので、 'xx'の変更が合わなかったときにそれらをマージするのに使いません。 – kowsky

1

あなたの仕事はxxブランチに関連しているので、xxブランチで開発を続けることができます。

提出したPRが、xxブランチの2番目の作業を完了した後に承認されない場合。新しいコミットが自動的にPRに追加されます。

xxブランチの2番目の作業を完了する前に、送信したPRが承認された場合は、新しいPRを送信できます。

関連する問題