我的 Git 更改去哪了?

4
我已经提交了更改到Git并推送到Origin。另一个开发人员在合并时遇到了问题。他们做了一些操作并进行了推送。我看到了更新并进行了拉取,但我的一半更改被还原了!发生了什么?我猜想他们遇到了合并冲突并使用了他们的文件版本,但即使如此,我也无法在Git中找到任何有关我的工作历史记录?
我正在使用SourceTree,但对它还不太熟悉。我刚刚安装了Smart Git(更熟悉它),但是在任何一个工具中都找不到有用的信息来发现发生了什么。
2个回答

3
SmartGit 中,打开日志并使用 查询|加载所有提交。这应该会暂时恢复您的提交,以便您可以添加一个分支使它们再次可访问。之后,合并、变基或挑选您的更改到 master(假设您和您的团队正在工作的是 master)。

我打开了 Log 窗口,从菜单栏中选择了查询。 它有显示更改、与本地比较和另存为选项。 所有选项都是灰色的。 - 1.21 gigawatts
1
请确保在仓库根目录上调用日志,然后“加载所有提交”将可用。SmartGit基本上做的就是Michael所写的:以比命令行更方便的方式向您显示来自reflog的所有提交。 - mstrap

2
如果您能使用命令行,git log 命令会显示所有提交记录。
如果您已经在本地进行了拉取操作,那么可以使用 reflog 命令来查看历史记录并回退到之前的状态。详情请参考:http://www.kernel.org/pub/software/scm/git/docs/git-reflog.html 您也可以回退到之前的状态并创建一个新分支或者使用 cherry-pick 命令将提交应用到新分支中。
或者您可以撤销合并操作。详情请参考:http://git-scm.com/2010/03/02/undoing-merges.html

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接