1

我正在和朋友合作一个小项目,我们使用 Git 作为源代码版本控制。这是问题场景:

  1. 我从版本 A 开始工作,并对版本 B 进行了一些本地提交。
  2. 我的朋友也是从 A 开始,将版本 C 推送到中央仓库。
  3. 我做了'git pull --rebase'并推送了版本B。所以远程仓库就像A->C->B。
  4. 与此同时,我的朋友还在开发他推送的 C 版本。当他尝试推送版本 D 时,他做了一个失败的合并(我不知道他到底是怎么做到的)。结果是,提交 D 包含从 C->D 的更改,但丢弃了从 A->B 的更改。所以远程仓库目前看起来像 A->C->B->D,但版本 D 删除了 C->B 的所有更改

我想知道解决此失败合并的最简单方法是什么。

4

1 回答 1

0

你的朋友也可能做的是 a git push --force,结果是A-C-D

一种方法是让您再次访问push --force您的内容 ( A-C-B),并让您的朋友:

  • tmp在他当前的工作之上结帐一个分支
  • git fetch origin
  • 将他的master分支重置为origin/master
  • D从分支中挑选樱桃tmp回到主人(那里可能涉及合并)
  • git push origin
于 2012-10-14T11:38:47.697 回答