我正在尝试将我的分支合并到master,但是我在bitbucket中不断遇到合并冲突。通常,我只是从master提取所有更新,然后将其合并到我的分支中,解决冲突,然后将其上传回bitbucket,但是由于某种原因,这次没有工作。我尝试将master合并到我的分支中,并多次解决冲突,但是没有运气。我什至尝试从master复制粘贴文件,然后再添加我的更改,但是Bitbucket总是显示冲突,没有显示任何内容,或者显示出我没有碰到的行。
在一个文件中,我的一个导入文件有冲突
<<<<<<<
=======
import someFile;
>>>>>>>
在另一个文件中,我的依赖项发生冲突
<<<<<<<
=======
<dependency>
someDependency
</dependency>
在第三个文件中,我与一些我未曾接触过的代码行发生冲突,但与母版中的代码相同
<<<<<<<
</connection>
</channel>
=======
</connection>
</channel>
>>>>>>>
前两个看起来像是没有任何合并冲突?我觉得解决此问题的唯一方法是从一个干净的分支重新开始,是否有任何方法可以解决此问题而不必这样做?
更新:即使仔细检查了我的代码,Git仍然给我带来了问题,因此,如果有人遇到此问题,这就是我要解决的问题。我做了git merge master
,而不是解决冲突,我只接受了来自master的传入更改,然后提交并推送(没有我的代码)。我再次复制更改,提交,然后再次推送,现在解决了所有冲突(即使代码根本没有更改)。它类似于重新开始,只是我不必重新添加所有没有合并冲突的文件。
答案 0 :(得分:2)
这对每个开发人员来说都是一项平凡的工作。 git的基本工作原理是,如果冲突文件的头不同,则显示合并冲突,这意味着如果对相同文件进行了更改而无法自动合并,则显示冲突。您可以执行以下操作:-
1)使用
将master合并到您的分支中git merge master
现在,您需要打开有冲突的文件并手动进行编辑。
2)使用源代码树,乌龟git等工具。它们可为您提供良好的并排视图,以解决您的冲突并包含内置的编辑器。它们还使您能够从工具中推送更改。
3)新建一个分支并重做更改。我从来不需要这样做,因为通常可以通过第一种或第二种方法解决问题。
PS:您提到的代码编辑器可能添加了一些格式设置,因为您提到您没有触摸文件。因此,请尝试使用其他编辑器一次。
希望有帮助!