Ich möchte die verfügbaren Tags in Magit auflisten, um eine bestimmte Revision zu unterscheiden. Ist dies möglich?
Insbesondere ist es mein Ziel, den Revisionsverlauf an einem bestimmten Tag aufzulisten und dann das Diff für einen der Patches in seinem Verlauf anzuzeigen. Ich habe gerade eine Rebase abgeschlossen und einige Inkonsistenzen festgestellt. Ich weiß, welcher Patch die Änderung eingeführt hat, und möchte den Unterschied zu der Version vor der Rebase sehen.
: tag
-:
Wirdgit
mit dem angegebenen Argument ausgeführt undgit tag
gibt nur die Liste aller Tags aus.Antworten:
Es hört sich so an, als ob Sie das benötigte Tag bereits kennen. In diesem Fall:
Magit 1.x: Tag-Name eingeben
lrl (mit TAB-Vervollständigung) RETRET
Magit 2.x: Tag-Name eingeben
lo (mit TAB-Vervollständigung) RET
Oder verwenden Sie das Reflog, um den Pre-Rebase-Hash zu finden:
Magit 1.x:
lrh
Magit 2.x:
lORET
quelle
Geben Sie ein y, um einen Puffer anzuzeigen, in dem Verzweigungen, entfernte Verzweigungen und unten Tags aufgelistet sind.
Gehen Sie zum Tag und drücken Sie l o RET. Das zeigt das Protokoll für dieses Tag. Gehen Sie zum Festschreiben und drücken Sie RET. Hier werden Informationen zu diesem Commit angezeigt, einschließlich des Diffs.
Sie müssen nicht unbedingt zuerst zum Tag wechseln, um das Protokoll dafür anzuzeigen. Sie können auch eingeben l o
<TAGNAME>
RET.quelle
y
, wenn ich sie drückte . Deshalb habe ich diemagit-refs-sections-hook
Variable so konfiguriert , dass sie herausgenommen wird. Gibt es eine andere Möglichkeit, alle Tags explizit aufzulisten?magit-section-initial-visibility-alist
.remote
undtags
zu dieser Liste hinzugefügt ). Auch schön, dass es sich an den letzten offenen / geschlossenen Zustand erinnert.