如何在具体提交之前保留历史记录中的git check?

时间:2017-07-28 13:17:04

标签: git visual-studio git-rewrite-history

需要帮助来获取git检查历史记录,Visual Studio通过所有提交保存该历史记录。我的一名团队成员再次推送了所有代码,因此删除了历史记录。 那么在提交之前有什么方法可以取回所有历史记录吗?

1 个答案:

答案 0 :(得分:0)

这有点不清楚,因为没有理由“推送所有代码”应该擦除历史。这听起来像你的同事进行了一次推力(也许是因为他们不明白他们需要在推动之前拉动和合并)。

如果您的本地回购以前有历史记录,那么该历史应该仍然存在。访问它的最简单方法可能是通过reflog。尝试

git reflog

它会显示您已检出的最新提交,每行一个。如果您可以从原始历史记录中找到一个,可以查看,例如

git checkout HEAD@{1}

(reflog输出将告诉您用于检索给定提交的数字)。

您也可以使用特定于分支的reflog

git reflog master
...
git checkout master@{2}

不共享reflog,因此只有看过您要检索的历史记录的单个克隆才能执行此操作。