2016-06-03 14 views
1

Ich benutze Sourcetree und GitHub für eine Weile jetzt, und ich habe bemerkt, dass einige wesentliche Funktionalität fehlt, die meiner Meinung nach Entwicklung erleichtern und beschleunigen würde.Track Cherry-Picks über Niederlassungen

Wenn Sie mehrere Zweige haben und einen Fehler in der master Zweigstelle beheben, möchte ich diesen Fix in einer anderen Branche auswählen (sagen wir /test-branch). Später möchte ich von /test-branch zu /live-branch Kirsch pflücken.

Gibt es in irgendeiner Weise eine Möglichkeit, ALLE meine Cherry-Picks aus dem Commit auf dem master Zweig zu verfolgen und zu sehen, auf welchen Zweigen dieses Commit ausgeführt wird? Ich möchte eine Art von Ausgabe wie:

[abc123] --commit SHA 
    -> /master 
    -> /test-branch 
    -> /live-branch 

EDIT ich eine Webseite gefunden haben, wo etwas Ähnliches behoben:

https://adamprescott.net/2015/10/02/tracking-commits-across-branches-with-git-and-sourcetree/

Hier können Commits accross Zweige mit einer benutzerdefinierten Aktion verfolgt werden . Da das Cherry-Picking jedoch zu einem völlig neuen Commit führt, entspricht der Cherry-Pick-SHA nicht dem ursprünglichen Commit-SHA, funktioniert also in meinem Fall nicht.

Antwort

0

Ich würde daggy-fix merges for keeping track Ihrer Kirsche-Pick empfehlen.

Aber die allgemeinere Lösung, die in "Is there a way to figure out where a commit was cherry-pick'ed from?" beschrieben wird, schlägt ein Skript vor, das helfen kann festzustellen, welches Festschreiben ein Cherry-Pick von einem anderen Commit ist.
Sie müssten trotzdem ein Skript erstellen, um das gewünschte Ergebnis zu erhalten.

+0

Da Cherry-Picking die ursprüngliche Commit-Nachricht beibehält, wäre ich mit der Suche nach Commit-Nachricht bereits zufrieden. 'git log --grep = "" --all'. Gibt es einen Befehl, um die Nachricht des aktuellen Commits zu erhalten? Wie $ SHA bekommt man die SHA des Commits. – RazorAlliance192

+0

Ja, das ist die Idee, aber Sie müssen immer noch diese Suche skripten. – VonC

+0

kann ich das in eine benutzerdefinierte Aktion dann, nein? Ich muss nur wissen, ob es einen Befehl gibt, um die Nachricht des aktuellen Commits zu erhalten. Ähnlich wie $ SHA, das den SHA des aktuellen Commits erhält. – RazorAlliance192