How can one determine the committer of a cherry-pick in Git?

纵然是瞬间 提交于 2019-11-30 01:40:19

问题


In Git, cherry-pick retains the original commit's author, timestamp etc, at least when there are no conflicts. But is there any way to determine what user performed the cherry-pick which brought that commit to the new branch?


回答1:


The author will be picked up from the original commit, but the committer (shown with git log --format=full) will be the one doing the cherry picking. This committer field is not secure, as cherry-pick commit creation is ultimately under the control of the cherry-picker. The only reliable way to track the commit creator, in this case the cherry pick instigator, is by signing off on the commit.

A simpler method is to carefully log pushes on the git server. The commits introduced by a push indicate who did the cherry-pick or, more precisely, who published it.




回答2:


Use either the --pretty=full argument to git log which results in something like:

git log -1 --pretty=full
commit 123abc
Author: Author Name
Commit: Commiter Name
Date: Wed Mar 20 09:43:20

Commmit Message

or, if you are only interested in the name of the commiter --format="%cN" which yields:

git log -1 --format="%cN"
Commiter Name

See git-log(1) for more information.



来源:https://stackoverflow.com/questions/15526488/how-can-one-determine-the-committer-of-a-cherry-pick-in-git

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!