2017-03-21 1 views
1

昨日私は彼がマスターに休暇中に置き換えている別の開発者によって行われたブランチに対して1回のプルリクエストをマージしました。複数のブランチを一度に結合した引き出し要求の結合

突然、CIは非常に多くのエラーを報告しました。そのエラーは、そのプルリクエストでマージされたブランチで行われた変更とはまったく関係がありませんでしたので、私たちはそれが別のものであると想定しました。 CIを再編成する計画です)。

今朝私は2人の異なる開発者が、なぜ彼らが行っていないときに自分のブランチをマージしたのかについての説明を求めて叫んだ。

これはどのように可能かわかりません。 1つのプルリクエストでは、プルリクエストを生成したブランチに異なるブランチをマージしますか?これが可能であるならば、なぜ、どのように.....

+0

さらに情報がなければ、私の指は、彼らが「行っていないとき、あなたは自分のブランチをマージする文句されているあなたのチームのメンバーで指しているでしょう"私の意見では、ブランチからプルリクエストを開くと、他の誰かがそれをマージするためのオープンシーズンです。彼らがそれらのPRを間違って開けば、それはあなたの問題ではなく、それらの問題です。しかし、これは本当にPRが開いていることを前提としており、PRなしで誰かが誤ってマージしていないことを前提としています。 –

答えて

3

誰かが、開発者がでマージするまだあるbranch Aに基づいてbranch Bを作成したところ我々はこれを経験している、説明することができます。branch Bのマージを受け入れますbranch Bが作成されたコミットまでbranch Aも受け入れます。

プルリクエストには、branch Bの変更がすべて含まれていますが、必ずしもすべての変更がbranch Aからではありません。これにより、壊れた/不完全な変更が導入される可能性があります。

私は以下を願って、私が何を意味するかを説明するのに役立ちます:

* 
|\ 
| \ 
| \ 
| \ 
| \ 
|  * commit to branch A 
|  | 
|  * commit to branch A 
| /| 
| /| 
| * | commit to branch B 
| | | 
| | * commit to branch A 
| | 
| * commit to branch B 
|/ 
|/  
* merge branch B in to master (first two commits from branch A are included) 
+0

はい、これがなぜ起こるのかについての考えられる理由かもしれません。 Gitはそれを避けるべきではない? – GTuritto

+0

Gitはここで正しいことをしています。 'ブランチB 'の開発者は間違ったコミットからブランチを作成しましたか?あるいは、ブランチAのコミットに依存して変更が行われたとしますか? – anierzad

+0

私たちはPRを元に戻さなければなりませんでした。開発者がバケーションから到着したとき、私は彼に何をしたのか、彼は私に知らせなかった。彼が何をしたのかが理由だ。 あなたの答えは@anierzadありがとうございます。 – GTuritto

関連する問題