繁体   English   中英

如何解决2个远程仓库的git merge / rebase冲突?

[英]How to resolve git merge/rebase conflicts with 2 remote repos?

git rebase有问题,但仅在使用2个远程存储库时才有冲突。 这是工作流程:

  1. 做工作...
  2. 承诺
  3. 拉-r登台主机

这很好。 如果有冲突,我可以解决。

然后,在使用生产远程仓库时会发生问题。 我是唯一一个推动生产的人。

  1. git pull -r production(出于某种原因需要在推入生产之前执行此操作……不知道为什么,因为它应该是快速向前推。)
  2. git push生产
  3. git pull -r暂存(更新我的仓库)

在这里,我对尚未使用的文件产生了各种合并冲突。

冲突可能看起来像这样:

<<<<<<< HEAD
  here's some code...
=======
  more code...
>>>>>>> commit foo

因此,这里有一些问题:

  1. 当我是唯一一个推动生产的人时,为什么我需要退出生产?
  2. 为什么在已提交但我没有更改的代码上存在合并冲突?
  3. 我会选择哪个提交? HEAD或commit foo
  4. 什么是更好的过程,所以它不会发生?

这是您对两个单独的远程存储库完成的pull --rebase的直接副作用:您将现有的本地提交重新建立在刚获取的远程HEAD之上,请确保创建一个新的HEAD SHA1您的第二个远程仓库(例如prod

在同一远程仓库的同一分支上进行协作时,可以使用pull --rebase进行从未推送到任何地方的提交,如“ 何时使用git pull --rebase? ”中所述。

但是,当您有2个远程存储库时,应在首次按下后避免使用它,如“ git pull --rebase何时会git pull --rebase麻烦? ”中所示。

有关该主题的更多详细信息,请参见“ 哪些git分支模型实际起作用? ”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM