我已经对Git进行了更改,并将其推向了原点。另一位开发人员遇到了合并问题。他们做了一些事情并做了推动。我看到了更新并做了一次拉动,我的一半更改被还原了!发生了什么?我猜他们有合并冲突并使用他们的文件版本,但即便如此我也找不到我在Git工作的历史?
我正在使用SourceTree,但还不太满意。我刚刚安装了Smart Git(更熟悉它)但没有找到任何有用的东西来发现其中发生的事情。
答案 0 :(得分:3)
在 SmartGit 中,打开日志并使用查询|加载所有提交。这应该会暂时返回您的提交,因此您可以添加分支以使其再次可访问。之后,Merge,Rebase或Cherry-Pick将您的更改添加到master
(假设您和您的团队正在进行master
)。
答案 1 :(得分: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