昨天我合并了一个由另一个开发人员完成的分支的拉取请求,当他正在假期进入Master时,我正在替换该代码,此代码中的代码更改已经过代码审查和彻底测试。
突然之间他CI报告了这么多错误,完全与那个在该拉取请求中合并的分支中所做的更改无关,所以我们认为这是其他的东西(最近我们一直遇到CI问题,因为重组CI的计划。)
今天早上,我被两位不同的开发者大吼大叫,要求解释为什么我们在未完成时合并他们的分支机构。
我不知道这是怎么回事。在一个Pull Request中,您将不同的分支合并到生成Pull Request的那个分支?
有人可以解释这是否可能,为什么以及如何.....
答案 0 :(得分:3)
我们遇到过这样的情况:开发人员根据branch B
创建了branch A
,但尚未合并。接受branch B
的合并也接受branch A
最多branch B
的创建提交。
拉取请求将包含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)