来自远程的git checkout

时间:2011-10-14 06:16:08

标签: git

我一直在阅读有关堆栈溢出的其他问题,但没有简单的解释我需要什么。我正在和另一位合作者一起推动远程回购。我想查看几周前的过去提交。我该怎么做?

2 个答案:

答案 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}