2014-09-26 24 views
7

Gibt es eine Möglichkeit festzustellen, ob ein Commit ausgewählt wurde und von welchem ​​Ursprung die Änderungen übernommen wurden?Git: Wie kann man wissen, ob ein Commit ausgewählt wurde?

'git cherry-pick -x' ist eine Lösung, um die Informationen zu erfassen, wenn ich den cherry-Pick mache. Aber wenn wir nicht die "-x" -Option verwenden, irgendwelche anderen Lösungen?

Antwort

7

Git bietet

git cherry

git log --cherry

welche beide auf einem niedrigen Niveau Verwendung git patch-id, um zu bestimmen, wenn es denkt, dass Änderungen gewesen Kirsche gepflückt. Diese Befehle werden praktisch nie falsch positive Ergebnisse haben, aber sie können falsch negative Ergebnisse haben.

+0

Was würde Commits verursachen, die * nicht * von SHA ausgewählt wurden, um in Ihren 'git log --cherry' Ergebnissen zu erscheinen? Das heißt, wenn sie nicht falsch-positiv sind, gibt es einen anderen Weg, auf dem git ein Commit als eine Cherry-Auswahl betrachten würde, außer eine explizit referenzierte SHA in einem 'git cherry-pick [SHA]' - Befehl zu sein? – ruffin

+0

@ruffin - wenn es eine geringfügige Änderung war und zwei Leute es identisch gemacht haben, dann hätten Sie auch eine Übereinstimmung. Es wäre nicht wirklich falsch positiv, da die Änderung die gleiche ist. –

+0

Interessant, dass git das so leicht fängt - sieht so aus, als würden wir eine ziemlich große Menge davon tun, obwohl sie alle kleine Veränderungen zu sein scheinen. Ich frage mich, ob Änderungen in mehr als einem Feature-Zweig stattfinden und dann aus verschiedenen Quellen mit denselben Bearbeitungen zusammengeführt werden - das heißt, es sieht so aus, als ob "die * gleiche * Person eine Bearbeitung vorgenommen hat identisch in zwei Zweigen "statt" zwei Personen "... (◔_◔) Danke. – ruffin

Verwandte Themen