我知道这个问题已经被问过很多次了,但我遇到了一个奇怪的问题,我无法在网上找到答案。
我已经创建了一个分支并决定开设一个 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 进行,所以我不能强行推动它。
我唯一的临时解决方案是将我的目录(在我的功能分支上)的所有内容复制到一个临时目录,然后结帐到开发,然后结帐到一个新分支,然后删除目录中的内容并粘贴到它是临时目录中的内容。显然,我想知道是否可以采用其他方式,但我想我现在会这样做。
答案 0 :(得分:0)
我认为您做错了步骤。检查此链接 What happens when I do git pull origin master in the develop branch?。基本上,当您执行 git pull origin develop
时,您将开发分支拉到您的功能分支,我认为这不应该是解决冲突的方法。
有两种方法可以解决这个问题。
如果你使用 github,请提出 PR。然后它应该显示冲突,您应该能够解决它。
如果你想在本地解决它。结帐到您的 develop
分支并执行
git pull
在此之后检查您的功能分支并将 develop
分支合并到您的功能分支
git merge develop
然后你应该能够解决你的冲突,这不应该从你的功能分支中删除任何代码(除非它是从开发分支中删除的)