In git, was ist der Unterschied zwischen den folgenden?Was ist der Unterschied zu HEAD, HEAD^und HEAD ~ 1?
HEAD
HEAD^
HEAD~1
HEAD~2
Und wie stehen sie master
? Also gibt es eine MASTER^
, MASTER~1
?
In git, was ist der Unterschied zwischen den folgenden?Was ist der Unterschied zu HEAD, HEAD^und HEAD ~ 1?
HEAD
HEAD^
HEAD~1
HEAD~2
Und wie stehen sie master
? Also gibt es eine MASTER^
, MASTER~1
?
HEAD
ist ein Synonym für das letzte Commit auf Ihrer aktuellen Zweigstelle, was auch immer es ist.
(oder HEAD^1
) bedeutet das erste übergeordnete Element von HEAD
. Ein Merge-Commit hat mehrere Eltern, also bezieht sich HEAD^2
auf den zweiten unmittelbaren übergeordnet von HEAD
, der an der Zusammenführung beteiligt war, die HEAD
erstellte.
HEAD~1
ist das gleiche wie HEAD~
. In diesem Fall ist es auch mit . Beachten Sie, dass HEAD~2
der Großelternteil von HEAD
ist, um den Unterschied zu sehen. Mit ~
geht zurück Generationen.
Wenn Sie auf der master
Zweig geschehen ist, dann bezieht sich HEAD
zu meistern. Wenn Sie sich in der Zweigstelle topic/foo
befinden, bezieht sich das auf diesen Zweig, während Sie darauf sind.
Fall ist wichtig mit Git. MASTER^
oder MASTER~1
ist wahrscheinlich Fehler der Form
fatal: ambiguous argument 'MASTER~1': unknown revision or path not in the working tree.
Aber master^
und master~1
sind sinnvoll zu produzieren.
Ausführliche Informationen zu den vielen Möglichkeiten, wie Sie die Commits bearbeiten können, finden Sie unter git rev-parse
documentation.
Bitte beachten Sie die Syntax-Referenz unter, zum Beispiel, http://jk.gs/gitrevisions.html –
können Sie Informationen finden Sie hier http://StackOverflow.com/Questions/2221658/whats-the-difference-between Kopf-und-Kopf-in-git – Robert