我希望我能正确表达这一点...我在Bitbucket中具有以下设置(使用Git协议(protocol))。我有一个包含我的应用程序的主仓库。然后,我 fork 每个客户端的主存储库,以便灵活地进行特定于客户端的更改而不会影响主存储库。当需要进行一般性更改时,我先 push 母带,然后与前叉同步,然后投入生产。
我遇到的问题是在Bitbucket中,这是说我有 merge 冲突,但是我不知道如何解决它们。在本地,我没有冲突。当我进入Bitbucket时,它告诉我我在主存储库后面有2次提交,因此我单击了同步。它说存在 merge 冲突,我需要解决它们。然后,我看不到解决这些冲突的方法。如果我在生产服务器上进行 pull ,则表明存在冲突,我需要解决它们,所以我这样做。我加入了nano(就像我讨厌VIM),清理了我需要的东西,然后开始了我的生意。但是, fork 的 repo 似乎仍然存在冲突。我不知道要解决这种情况我需要做什么。无论如何,这使我处于停滞状态,因为在解决冲突之前,我无法再对 fork 进行任何更改。
最佳答案
当使用fork时,将上游存储库(您的Master存储库)配置为远程存储以及将fork(您的客户端A存储库)配置为远程存储通常是有帮助的。例如,您可能已经有一个代表 fork 的origin
。
添加一个新的远程upstream
来表示“主”存储库:
git remote add upstream [email protected]:user/master-repo.git
git fetch upstream
现在,您应该能够看到所有相关分支。例如,如果您尝试 merge
master
分支,则这些将是相关的:master
(本地)origin/master
(客户端A)upstream/master
(主存储库)如果使用
gitk
或git log --all --graph --decorate
可视化这些分支,则您可能能够看到冲突的来源。您很可能希望将两个 Remote 上的更改 merge 到本地master
分支中:git checkout master
git merge upstream/master # (Merge changes from the "Master" repo)
# Fix any merge conflicts that may arise
git merge origin/master # (Merge changes from the Client A repo)
# Fix any merge conflicts that may arise
完成此操作后,您应该可以将
push
干净地转换为origin
:git push origin master
关于git - Bitbucket:远程仓库中的冲突,无法解决,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21003971/