我有两个分支:master和develop。这些分支之间的代码没有任何差异。
我从发展中看到了新的分支。在新分支中只更改了一个文件。
我要将新的分支合并到master,但我看到了冲突。
在公关方面,我看到master的新分支有很多变化。但如果我检查master,它包含这些更改。根据公关大师不包含。
我做错了什么?
我相信你说得对:
我有两个分支:master和develop。这两个分支之间的代码没有任何区别。
显然,这些分支上的提交存在显著差异。问题是为什么?理想情况下,他们会同步(这样你就不会有公关方面的问题(。
以下是一些可能的修复方法:
- 如果
develop
和master
具有不同提交的原因是因为您更喜欢其中一个的提交历史记录,那么可以考虑去掉另一个。例如,如果您喜欢master
上的提交历史记录,但不喜欢develop
上的历史记录,则签出develop
并将其(硬(重置为master
。然后强制将其推出,分支在代码和提交中都将相同 - 如果
develop
和master
具有不同提交的原因是由于引入相同代码的单独合并,但您希望保留这两个历史记录,则将develop
合并到master
中,然后将master
合并回develop
中。现在它们将被同步,但两个分支以前的历史记录都被保留
在执行#1或#2之后,更新您的PR(可能还会将您的分支机构重新设置为最新的origin/develop
(现在应该只显示您的新更改。
如果你想不做#1或#2,并在接下来的一天里把罐子踢开,那么你可能不得不做你以前可能一直在做的事情,这与以下任何一种选择都类似:
- 从
master
创建一个新的分支,并将您的提交选择到该分支上,并将其PR到master
中
或
- 重新调整
new-branch
,使其脱离master
,而不是develop
。如果您已经签出了new-branch
:git rebase --onto origin/master origin/develop
,则应该使用类似的方法