如何还原我合并两个分支所做的更改

时间:2011-09-14 18:05:08

标签: git

我有两个分支developpersonal。我使用GitExtensions工具。我在develop分支机构工作,然后我需要将其与personal合并。我启动了合并,该工具通知我存在一些冲突(包的名称不同),并建议使用mergetool来解决冲突。但是mergetool没有像往常一样打开,但是我得到了解决所有冲突的消息,我希望手动解决它们。当然,这个意外(?)发生合并是不正确的,我试图通过Reset current branch to here恢复这些更改并选择我之前的提交。不幸的是,所做的更改已经恢复(这没关系),但文件夹的名称(我在android平台中的软件包)没有。我试图通过checkoutreset还原更改但是当一切正常时我无法获取文件系统的快照。我对git很新,请建议如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

您是否重置了hard?在git扩展程序中,勾选显示hard

的复选框

如果在更改之前将分支重置为提交,则所有内容都应重置为完全该提交中存储库中的内容。如果您说文件夹名称不正确,您确定在那个时间点跟踪它们吗?您可以通过运行git ls-files

查看当时是否正在跟踪这些内容

如果当时正在跟踪它们,请在重置回到该点后尝试运行git reset --hard。当您执行此操作时,您必须跟踪文件的所有未保存更改将永久丢失,因此请确保已提交所有内容,或git stash您的更改。

答案 1 :(得分:0)

签出要恢复的分支,然后使用git log获取与所需状态对应的提交的哈希值。 然后你可以使用git reset HASH或git chevkout HASH来恢复那个提交