有没有办法重新'#34; remerge"来自某个提交的主人?

时间:2018-03-07 20:12:03

标签: git merge

有没有办法重新"重新合并"从某个提交的主人那里,好像我从那时起就没有尝试git merge master

修改:我解决了我的问题。事实证明,我只是git的新手,并且对合并和冲突的基础感到困惑。我现在正在改写这个问题,以便对经验丰富的git用户有意义,但是我要保留一些我的困惑/误导的想法,以便新手在搜索同样的事情时遇到同样的问题,结束在这里。

TL;博士

  1. 我惊慌失措,备份文件,创建了一个新的分支,恢复了我的文件,现在我有一些我不认识的差异。
  2. NTL; R

    1. 我在当地的一家分店工作了好几天。
    2. 很多人都在这个存储库上工作。为了保持同步,我定期git merge master编辑。
    3. 出了问题,恐慌,我cp -R来支持我的来​​源。
    4. 我不同意该分支,并从主人那里创建了一个新分支。
    5. cp -R修改了我的备份,故意覆盖最新版本的副本。
    6. 我做了一个git diff,只看到了数百个我不认识的差异。
    7. 分析

      我意识到自己的错误。只是复制/破坏文件意味着:没有git历史记录。也就是说,我所有的个人增量提交以及其他人的合并'来自大师的承诺,得到了平坦的"成为一个无元数据,愚蠢的文本文件副本。一旦"恢复"我的备份,它看起来像我刚刚做了一个巨大的改变,没有什么是什么的踪迹。而且因为当时我做了备份,我还没有完全git merge master编辑,在最新的主人身上提交了我从未见过的提交,我基本上将这些提交从最新的主人用一个旧的备份clobbering。再说一遍:没有踪迹。

      提议的解决方案

      作为一个新手,我想,解决这个问题的方法可能是:从我知道我已经合并的某个时间点(提交)重新发现git merge master,从而产生冲突。然后,我认为我可以在所有冲突中接受他们的,因为对于我没有触及的任何文件或代码,冲突只能意味着由于我过时的备份而意外回复:我可以盲目地接受他们的

      这就是为什么我要求重新触发合并的方法(在原始问题中,盲目地接受所有他们的合并,但我看到那部分的错误)。

1 个答案:

答案 0 :(得分:0)

因此,没有必要找到重新合并的方法。

不幸的是,我不记得或想到我是如何做到这一步的,但也许其他人可以填写我错过的内容。

基本上,我能够使用IntelliJ的VCS> Git>合并更改...(或者是解决冲突......)在三列的并排视图中完成所有差异:我的本地副本,"之前,"和最新的大师。无论我认识到自己的变化,我接受了我的。差异是异国的,我接受他们的。几乎没有重叠的案例。最终,这产生了一个干净的合并。