Git - 同事在解决冲突时以某种方式覆盖了我的整个提交

时间:2015-06-11 18:47:16

标签: git github git-merge merge-conflict-resolution git-cherry-pick

这就是他所说的:

  

发生了合并冲突,所以我选择了我的。

我所看到的是,我的变化完全消失了。提交就在那里,但如果我继续使用GitHub并点击历史记录'对于该文件,没有任何迹象表明我的更改曾经存在过。我发现了有罪的提交,但它所说的只是:

Conflicts:
        .../<file>.js

我看到的看起来很可疑的是提交标题为:

Merge remote-tracking branch 'origin/development' into devenv

但是development是我们的远程分支,因此我猜测他合并到了他的本地分支,搞砸了,然后意外地将他的本地分支推到了development

这会导致我描述的行为吗?有什么想法以干净的方式解决这个问题?

编辑:所以看起来cherry-pick修复了这个问题,但我还是不知道它是如何进入这种状态的。我无法找到任何力量推动的证据(Git而不是星球大战)。

1 个答案:

答案 0 :(得分:0)

Git中没有任何东西消失。您可以执行以下操作之一:

  1. 撤消开发分支上的合并。 Undo a Git merge that hasn't been pushed yet
  2. Cherry - 从历史记录中选择您最后一次提交(包含所有贡献)。 How-to git backport (rebase/cherry-pick) an already merged branch