In Git, cherry-pick
behält den ursprünglichen Commit-Autor, Zeitstempel usw., zumindest wenn es keine Konflikte gibt. Aber gibt es eine Möglichkeit zu bestimmen, welcher Benutzer den Cherry-Pick ausgeführt hat, der diesen Commit in den neuen Zweig gebracht hat?Wie kann man in Git den Committer eines Cherry-Picks bestimmen?
Antwort
Der Autor wird vom ursprünglichen Commit abgeholt, aber der Committer (gezeigt mit git log --format=full
) wird derjenige sein, der das Rosinenpicken durchführt. Dieses Committer-Feld ist nicht sicher, da die Cherry-Pick-Commit-Erstellung letztendlich vom Cherry-Picker gesteuert wird. Die einzige zuverlässige Möglichkeit, den Ersteller des Commits, in diesem Fall den Anstifter des Cherry-Picks, zu verfolgen, besteht darin, sich mit dem Commit abzumelden.
Eine einfachere Methode ist die sorgfältige Protokollierung von Pushs auf dem Git-Server. Die durch einen Push-Vorgang eingeführten Commits zeigen an, wer den Cherry-Pick gemacht hat, oder genauer, wer ihn veröffentlicht hat.
Verwenden Sie entweder das --pretty=full
Argument git log
, die wie in etwas ergibt:
git log -1 --pretty=full
commit 123abc
Author: Author Name
Commit: Commiter Name
Date: Wed Mar 20 09:43:20
Commmit Message
oder, wenn Sie daran interessiert sind nur in den Namen des commiter --format="%cN"
sind, die ergibt:
git log -1 --format="%cN"
Commiter Name
Siehe git-log(1) für mehr Informationen.