Git “获取合并代码”;对",;用吉特

Git “获取合并代码”;对",;用吉特,git,merge,git-merge,Git,Merge,Git Merge,我刚刚通过合并FETCH_HEAD并得到我最近的更改而不是他的更改来覆盖我的同事代码。我想恢复到合并之前,然后执行合并,强制在他接触文件的地方接受他的更改,但在没有任何其他更改的地方获得我的合并 我的git日志(使用l2*创建)现在如下所示: * 3f6308d - (HEAD, master) Merging changes (confliect in PriceListForm.java.. was a formatting change only (Sun Dec 29 09:07:

我刚刚通过合并FETCH_HEAD并得到我最近的更改而不是他的更改来覆盖我的同事代码。我想恢复到合并之前,然后执行合并,强制在他接触文件的地方接受他的更改,但在没有任何其他更改的地方获得我的合并

我的git日志(使用l2*创建)现在如下所示:

*    3f6308d - (HEAD, master) Merging changes (confliect in PriceListForm.java.. was a formatting change only (Sun Dec 29 09:07:27 2013) <Gre
|\  
| *  283c00c - Changing wv reports to be separated by changes in prices according to received_date rather than lab_number. (Thu Dec 26 19:39:
| |
| *  4846bf2 - Merge branch 'master' of ssh://git-pacce@free1.projectlocker.com/pcs.git (Wed Dec 25 17:49:19 2013) <jpjones>

考虑到您尚未推动错误提交,您可以在以下情况下安全地将头部重置为提交:

git reset --hard HEAD^
(确保没有正在进行的工作,如私人文件或添加到索引中的文件,因为工作树和索引都将重置为
HEAD^
状态)

这就是报告的建议

但在此之后,您需要确保在您即将再次进行的合并过程中,您同事的更改已被采纳。
看看a是否工作得更好

git checkout yourBranch
git merge -X theirs theirBranch
但是,我怀疑它只能用于解决冲突(文件中的并发修改)。
如果您进行了更近期的更改,则这些更改仍将出现在最终合并的头中

如果是这样,请尝试按照中的方法进行操作,这将强制合并到您的分支,然后将
您的分支
重置为
他们的分支
,然后将头部移动到之前完成的合并提交。

那么最终的结果应该和你想要的一样。

这并不能完全解决我的问题,但它回答了问题,我将来肯定会做不同的事情。现在的问题是,正如你所料,“他们”的策略不适合这个案例,我们将所有内容都提交给master(没有主题分支)@Greg我想我在最后提到的应该更准确。所有内容都在master上,所以在这种情况下,使用不同的分支进行合并对我来说没有意义。我不确定我是否可以对修订版而不是分支执行同样的操作。
git checkout yourBranch
git merge -X theirs theirBranch