【发布时间】:2013-03-09 17:18:17
【问题描述】:
在 Git 中,cherry-pick 至少在没有冲突的情况下会保留原始提交的作者、时间戳等。但是有没有办法确定哪个用户执行了将提交带到新分支的cherry-pick?
【问题讨论】:
标签: git merge cherry-pick git-cherry-pick
在 Git 中,cherry-pick 至少在没有冲突的情况下会保留原始提交的作者、时间戳等。但是有没有办法确定哪个用户执行了将提交带到新分支的cherry-pick?
【问题讨论】:
标签: git merge cherry-pick git-cherry-pick
作者将从原始提交中挑选出来,但提交者(显示为git log --format=full)将是挑选樱桃的人。这个提交者字段是不安全的,因为樱桃选择提交的创建最终是在樱桃选择者的控制之下。跟踪提交创建者(在本例中为樱桃挑选煽动者)的唯一可靠方法是在提交上签字。
更简单的方法是在 git 服务器上仔细记录推送。推送引入的提交表明谁进行了挑选,或者更准确地说,是谁发布了它。
【讨论】:
对git log 使用--pretty=full 参数,结果如下:
git log -1 --pretty=full
commit 123abc
Author: Author Name
Commit: Commiter Name
Date: Wed Mar 20 09:43:20
Commmit Message
或者,如果您只对提交者的名称感兴趣 --format="%cN" 会产生:
git log -1 --format="%cN"
Commiter Name
更多信息请参见git-log(1)。
【讨论】: