Ich verwende git worktree
und möchte einen Zweig auschecken, der auch auf einem anderen Arbeitsverzeichnis ausgecheckt ist. Ich brauche den Zweig selbst nicht, aber ich brauche das dem Zweig entsprechende Commit als einen abgetrennten HEAD. git checkout $(git rev-parse mybranch)
ist eine Lösung, aber es ist ausführlich (und ich würde es vorziehen, keinen Alias dafür hinzuzufügen, wenn es schon einen einfachen Weg gibt). Gibt es eine Möglichkeit, das einem Zweig entsprechende Commit kurz zu prüfen?Überprüfen Sie das Commit, das einem Zweig entspricht
2
A
Antwort
3
Per git help checkout
, die direkte und un-magische Lösung ist:
git checkout --detach mybranch
1
git checkout mybranch^0
oder git checkout mybranch~0
beide funktionieren.
~0
bedeutet "Der 0th Vorfahre", die das Commit selbst ist. ^0
bedeutet "der 0. Elternteil" für Commits mit mehreren Eltern (Merge-Commits). Ich bin mir nicht sicher, warum dies zu dem Commit selbst löst, aber es tut.
Da git checkout <anything that is not just the name of a branch>
wird das Commit als ein losgelöster HEAD, git checkout mybranch~0
wird funktionieren, obwohl git checkout mybranch
nicht funktioniert.