我正在通过命令git checkout
来浏览git历史记录。从master
我去例如提交散列a7040f35a1e
。'git checkout HEAD ^'的相反之处是什么?
git checkout a7040f35a1e
然后我去了以前的承诺:
git checkout HEAD^
怎么能就回国了?我的意思是我怎么去跟随提交?单词HEAD
+有可能吗?
我正在通过命令git checkout
来浏览git历史记录。从master
我去例如提交散列a7040f35a1e
。'git checkout HEAD ^'的相反之处是什么?
git checkout a7040f35a1e
然后我去了以前的承诺:
git checkout HEAD^
怎么能就回国了?我的意思是我怎么去跟随提交?单词HEAD
+有可能吗?
没有去下面提交任何具体的方式,但也有一些事情你可以使用:
git checkout -
。这是git checkout @{-1}
的简写,意思是“结帐我检出的最后一件东西”。这解决了回到原来的位置的具体情况,但不是从您所在的位置开始下一次提交的一般情况。git checkout master^
之后,您可以使用git checkout master
。这可能是真的,因为路之间的Git存储关系承诺:每一个提交知道其父的ID提交(S),所以很容易跟随从x
到x^
这种关系,但提交唐”不知道他们的孩子的ID,所以没有有效的方法来做反向查找。
关于在Git文档中提交提交的方式有很多信息。结帐git help revisions
。
Git没有“以下提交”的操作符,因为单个提交可能有多个“子”。如果您想要返回到之前的提交,请明确执行 - git checkout a7040f35a1e
。
您可以使用您使用的相同的命令返回到那里开始:
$ git checkout a7040f35a1e
当然我知道:)这实际上不是我的问题。我很好奇走一步,一步下去 – areim
@areim我一直在StackOverflowing整天。知道的人大多与那些不知道的人没有区别。更严重的是,默认值是'〜',具体的ups是''',没有减少,尽管通过'@'引用了reflog。 –
Git保留上次检出的历史记录HEAD
s。您可以使用git checkout [email protected]{1}
到上一个。
查看git reflog
的完整历史。
一个提交也可以有多个父母(例如合并提交),并且有一种方法可以使用'^'来获得这些提交。我认为这与儿童存储其父母的身份证号码有关,但父母不知道他们孩子的身份证号码。 – georgebrock