【问题标题】:How can one determine the committer of a cherry-pick in Git?如何在 Git 中确定一个cherry-pick 的提交者?
【发布时间】:2013-03-09 17:18:17
【问题描述】:

在 Git 中,cherry-pick 至少在没有冲突的情况下会保留原始提交的作者、时间戳等。但是有没有办法确定哪个用户执行了将提交带到新分支的cherry-pick?

【问题讨论】:

    标签: git merge cherry-pick git-cherry-pick


    【解决方案1】:

    作者将从原始提交中挑选出来,但提交者(显示为git log --format=full)将是挑选樱桃的人。这个提交者字段是不安全的,因为樱桃选择提交的创建最终是在樱桃选择者的控制之下。跟踪提交创建者(在本例中为樱桃挑选煽动者)的唯一可靠方法是在提交上签字。

    更简单的方法是在 git 服务器上仔细记录推送。推送引入的提交表明谁进行了挑选,或者更准确地说,是谁发布了它。

    【讨论】:

      【解决方案2】:

      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)

      【讨论】:

        猜你喜欢
        • 2018-04-17
        • 2012-11-05
        • 2016-10-24
        • 1970-01-01
        • 2018-04-16
        • 2021-01-18
        • 2012-05-21
        • 1970-01-01
        • 2016-04-11
        相关资源
        最近更新 更多