4

我已提交对 Git 的更改并推送到原点。另一位开发人员在合并时遇到问题。他们做了一些事情并推动了。我看到了更新并进行了拉动,我的一半更改被还原了!发生了什么?我猜他们有合并冲突并使用了他们的文件版本,但即便如此我还是找不到我在 Git 中工作的任何历史记录?

我正在使用 SourceTree,但还不太适应。我刚刚安装了 Smart Git(更熟悉它),但没有找到任何有用的东西来发现其中发生的事情。

4

2 回答 2

3

SmartGit中,打开 Log 并使用Query|Load All Commits。这应该会暂时返回您的提交,因此您可以添加一个分支以使其再次可访问。之后,合并、变基或 Cherry-Pick 您的更改master(假设是master您和您的团队正在处理)。

于 2012-10-17T19:47:32.357 回答
2

如果您能够使用命令行, git log 应该会显示所有提交。

如果您已经在本地提取,那么您可以使用 reflog 来展开已发生的事情。http://www.kernel.org/pub/software/scm/git/docs/git-reflog.html

然后,您可以在必要时放松并分支或挑选新分支。

或者您可以恢复合并。http://git-scm.com/2010/03/02/undoing-merges.html

于 2012-10-17T21:24:27.220 回答