我一直在阅读有关堆栈溢出的其他问题,但没有简单的解释我需要什么。我正在和另一位合作者一起推动远程回购。我想查看几周前的过去提交。我该怎么做?
答案 0 :(得分:5)
git checkout -b <branch_name> <sha1>
(这将在您想要的特定提交中创建一个新的分支和结帐)
如果您只想将当前分支重置为它:
git reset --hard <sha1>
更新sha1:
Sha1的意思是这个长哈希与每个提交相关联并识别它。您可以通过git log
git log输出示例:
commit 10a45e0f0680b8fd493ed0264fe24be2648af1b3
Author: manojlds <manojlds@gmail.com>
Date: Thu Oct 13 19:04:23 2011 -0600
some other commit
10a45e0f0680b8fd493ed0264fe24be2648af1b3
是sha1哈希。
答案 1 :(得分:2)
git log # to check what SHA1 you need
git checkout -b tmp SHA1 # to checkout the right SHA1 and create a tmp branch
如果您直接结帐SHA1,最终会遇到 DETACHED HEAD ,可能会进行一些未引用的提交。
例如,请参阅“git: how to retrieve all files as of a certain date”。
请注意,您有checkout by date的各种语法:
<refname>@{<date>}, e.g. master@{yesterday}, HEAD@{5 minutes ago}