我正在通過命令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