如何解决与本地分支和主节点的冲突?

时间:2021-03-14 11:47:36

标签: git

我知道这个问题已经被问过很多次了,但我遇到了一个奇怪的问题,我无法在网上找到答案。

我已经创建了一个分支并决定开设一个 PR。问题是 Bitbucket 抱怨存在冲突,我需要先手动解决它们。

所以我在当前的功能分支中运行了 git pull origin develop。我开始手动解决冲突,但后来我意识到我写的一些代码已经消失了。一个简单的例子是我对一个函数进行了更改,以便该函数接受一个参数。但是在运行 git pull origin develop 后,函数调用保持不变(即 somefunction(someParameter)),但函数定义返回到 export const someFunction() 而不是 export const someFunction(someParameter)

我也试过运行 git pull -s recursive -X ours origin develop,但这并没有解决问题。

我在这里做错了什么?我希望我的功能分支上的所有代码都是开发应该拥有的代码。是否可以在 git pull origin develop 期间完全覆盖开发上的任何更改?

我可能还应该提一下,对开发的更改只能通过 PR 进行,所以我不能强行推动它。

我唯一的临时解决方案是将我的目录(在我的功能分支上)的所有内容复制到一个临时目录,然后结帐到开发,然后结帐到一个新分支,然后删除目录中的内容并粘贴到它是临时目录中的内容。显然,我想知道是否可以采用其他方式,但我想我现在会这样做。

1 个答案:

答案 0 :(得分:0)

我认为您做错了步骤。检查此链接 What happens when I do git pull origin master in the develop branch?。基本上,当您执行 git pull origin develop 时,您将开发分支拉到您的功能分支,我认为这不应该是解决冲突的方法。

有两种方法可以解决这个问题。

  1. 如果你使用 github,请提出 PR。然后它应该显示冲突,您应该能够解决它。

  2. 如果你想在本地解决它。结帐到您的 develop 分支并执行

git pull

在此之后检查您的功能分支并将 develop 分支合并到您的功能分支

git merge develop

然后你应该能够解决你的冲突,这不应该从你的功能分支中删除任何代码(除非它是从开发分支中删除的)

相关问题