2

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

  1. 做工作...
  2. 犯罪
  3. 拉 -r 登台大师

这工作正常。如果有冲突我可以解决。

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

  1. git pull -r production (由于某种原因需要在投入生产之前执行此操作......不知道为什么,因为它应该是一个快速推进。)
  2. git推送生产
  3. git pull -r staging (更新我的仓库)

这是我在未处理的文件上遇到各种合并冲突的地方。

冲突可能如下所示:

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

所以,这里有几个问题:

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

1 回答 1

1

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

当在同一个远程仓库的同一个分支上协作时,您可以将pull --rebase其用于从未在任何地方推送过的提交,如“我何时应该使用 git pull --rebase? ”中所述。

但是当你有 2 个 remotes repos 时,你应该在第一次推送后避免它,如“什么时候会给git pull --rebase我带来麻烦? ”所示。

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

于 2012-10-05T05:30:58.367 回答