Ich habe einen Feature-Zweig mit dem präzisen Namen feature
, der ungefähr 100 Commits enthält, die alle auf eine Art von Feature bezogen sind. Diese Commits wurden im Laufe der Zeit alle in den Master-Zweig zusammengeführt. Ich möchte alle Commits auflisten, die in der Zweigstelle waren, damit ich die Funktion zu einem anderen Projekt hinzufügen kann.
Grundsätzlich möchte ich Commit-IDs für die grünen Punkte in der Grafik unten haben.
Wie kann ich das in Git machen, indem ich zu gitk oder einem ähnlichen Tool gehe und alle relevanten Commit-IDs manuell sammle?
Obwohl Antwort gegeben und akzeptiert wird, würde ich einen automatischeren Weg vorschlagen, dies zu tun (aber es wird nur funktionieren, wenn Sie Ihre master
nicht mit feature
zusammenführen):
Angesichts der folgenden Geschichte:
%Vor% Grundsätzlich möchten wir git log B..feature
ausführen.
git log --format='%H' feature..master | tail -1
findet das Commit für das master
, das direkt nach der Erstellung von feature
branch erstellt wurde - das ist C
Und der Vorgänger von C
- B
ist auch der Vorgänger des ersten Commits H
von feature
branch.
Dann zeigt xargs -I '{}' git log '{}'^..feature
(also git log B..feature
) nur die Commits an, die von feature
aus erreichbar sind, aber nicht von B
.
Tags und Links git