如何从git上的pull请求强制远程合并?

时间:2016-07-17 11:00:06

标签: git github merge bitbucket git-merge

所以我得到了主要的回购(让我们称之为回购1)和它的一个分支(称为回购2)。

当所有更改都提交到repo 2时,我开始从2到1的拉取请求,然后尝试在bitbucket网站上合并,以便将修改后的文件下载到repo 1原始文件所在的服务器,这就是它给出的时间错误:

  

由于冲突,Bitbucket无法自动合并此请求。   查看“概述”选项卡上的冲突。然后你可以拒绝   请求或使用。在本地系统上手动合并   以下命令:

git checkout master
git remote add danceclub/repo-name ssh://git@bitbucket.org/danceclub/repo-name.git
git fetch danceclub/repo-name
git merge --no-ff -m 'Merged in danceclub/repo-name (pull request #1)' remotes/danceclub/repo-name/master

我遵循了所有内容,在运行最后一句时,它会发出关于合并冲突的冲突警告。是最后一句话:

Automatic merge failed; fix conflicts and then commit the result.

我该如何解决这个问题?

强制合并?

谢谢

1 个答案:

答案 0 :(得分:0)

  

我该如何解决这个问题?

运行git status以查看哪些文件存在冲突。打开这些文件并查找每个<<< === >>>部分。删除您不想要的行并保留您想要的内容。保存并退出。然后,运行git addgit commit以完成合并。最后,运行git push以更新远程仓库。

  

强制合并?

Git有一些strategies用于解决冲突。将选项--strategy=recursive -X ours/theirs添加到git mergeours添加theirs以保留当前分支的内容,而id则采用其他分支的内容。但真实情况可能并非如此简单。编辑冲突文件并确定要保留哪些行以及要删除哪些行最好。