我正在我的fork中使用分支B上的一个功能,我使用rebase策略将主分支更改为B.
今天我面临的情况是,在将主人变为B之后(上游没有对B进行任何更改),我不得不强行将这些更改推送到我的分支(这里正常推送失败了).
然后我创建了一个从我的B到Master repos B的拉取请求,其他开发人员也在这里工作,但是创建的拉取请求无法自动合并.
处理这类情况的最佳方法是什么?
和你的同行交谈.
您刚刚重写了历史记录,因此我不希望您的远程分支能够自动合并.这也是你必须强行推动分支的原因.
这是场景.假设它master有3个新的变化.历史看起来像这样:
new3 * * branchWork2
new2 * * branchWork1
new1 * /
base *
Run Code Online (Sandbox Code Playgroud)
这样做git rebase master,你的历史现在是这样的:
branchwork2' *
branchwork1' *
new3 *
new2 *
new1 *
base *
Run Code Online (Sandbox Code Playgroud)
你还没有失去任何工作从您的分支,但它们不是很相同的承诺; 他们将生产不同的SHA.
通常情况下,如果没有人将他们的工作基于你的工作,这不会是一个问题,这通常是你想要针对一个公共分支重新设计你的工作的情况.如果有人有,但是,现在他们已经和解,他们已经对做了哪些工作的老史与新的历史,你推,它创建了一个头痛的问题.
在这种情况下,请确保与您的同行协调和交谈,以确保他们都了解情景并且处于足够好的位置,以便能够纠正任何错综复杂的合并冲突.
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |