不更改作者信息的Git签名提交

3
对于我工作的项目,我们使用--signoff来批准彼此的提交。我知道这不是大多数项目的工作方式,但我们的模型是有人编写补丁,其他人进行评审并--signoff,原始作者将其推送到主线。

我们遇到的问题是,在签名后,提交的原始作者离开了。当某人执行签名命令时,通常看起来像这样:

git commit --amend --signoff

当然,这会更新作者字段并在提交消息末尾追加签名。
有没有一种方法可以在不实际更改作者字段的情况下实现相同的效果?我唯一能想到的选项是查看原始作者字段并将其与以下内容一起传递:
--author "John Smith <john.smith@somewhere.com>"

这种方法看起来有些笨重,每次想要签署提交时都很痛苦。

更新:

根据大家的需求,我的.gitconfig文件如下:

[user]
    name = Wesley Bland
    email = ---@---.---

[color]
    diff = auto
    status = auto
    branch = auto
    ui = auto

[color "status"]
    added = green
    changed = red
    untracked = magenta

[core]
    whitespace = trailing-space,space-before-tab,indent-with-tab
    abbrev = 8
    excludesfile = /Users/wbland/.gitignore_global

[alias]
    graph = log --graph --decorate --abbrev-commit --pretty=oneline

[push]
    default = simple

你正在使用任何提交触发器吗? - Brian Vandenberg
我在.git/hooks/目录中只看到了每个仓库中设置的示例钩子。 - Wesley Bland
我知道这听起来可能有点傻,但当你运行git commit时,你能验证一下(例如,使用stracetruss)它是否确实从未定制的git安装中运行了git-commit脚本吗? - Brian Vandenberg
嗯...看起来我可能做了类似那样的奇怪事情。我有两个安装版本(默认的Apple和Homebrew),当我指定另一个版本时,问题就不会出现。我会从这里开始解决它。 - Wesley Bland
1个回答

1
默认情况下,git commit(包括git commit --ammed --signoff)不会更改提交的作者。实际上,为了更改作者,您需要明确指定。
git commit --amend --signoff --reset-author

嗯,那么我们所有人的配置文件中都必须有某些原因导致它这样做,因为每个提交的人都会遇到这个问题。 - Wesley Bland
你能分享一下你的 .git/config 文件吗? - Mureinik
当然,我刚刚添加了它。 - Wesley Bland

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接