git merge,恢复我的更改

时间:2014-01-29 03:35:00

标签: git

我不确定为什么会这样,但我在一个名为Settings的分支上工作。

这可能是2周前。然后需要对Settings分支进行测试,以便我合并来自master的最新代码,以便稍后合并将不那么痛苦。

问题:出于某种原因,我在Settings分支上所做的所有事情都被称为破坏。

示例:我有一个SettingsController.cs文件。现在,当我从master中合并最新版本时,在SourceTree中,我可以看到SettingsController.cs文件已删除。

我不确定为什么这会被删除,因为我认为git会在我的更改之外应用master中的任何更改。

所以我可以做下来而且只是从github.com复制并粘贴我的代码,但显然这不是我想做的。

所以在我真正完成合并之前,最好的方法是正确地进行合并,或者退出这个合并,并将每个人对master的更改带到我的分支中。

当我从另一个分支中提取更改时,我通常没有这个问题所以我不知道为什么这次它是不同的。有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果合并尚未完成,请使用git merge --abort

如果完整,那么您想要回滚到两周前:有很多方法可以做到这一点,包括还原,重新设置和使用git guiSourceTree等各种工具。请参阅this very good SO answer,其中详细介绍了所有选项,并提供了更多参考资料。