如何防止 Git 提交的作者被更改

How to prevent author of Git commit from being changed

我想为我的 Git 提交创建不同的用户。例如,现在我们安装了 5 个系统 Git。但是在向 Git 远程存储库提交更改时,我可以在提交 window.

中更改我的默认作者姓名和电子邮件

我怎样才能使它们无法更改?

在提交时,您可以设置每个提交的作者

git commit -m "Your commit message" --author="Author Name <author.name@example.com>"

我为这个例子添加了 -m 标志,但您可以排除它并在您喜欢的编辑器中设置提交消息。

假设您使用的是 CLI,如果您使用的是 GUI/IDE 请告诉我,我会看看能否找到如何使用其中的作者设置。

您的 Git 存储库是 您的。你可以任何你想做的事。没有其他人可以阻止您,您也无法阻止其他任何人他们他们 存储库做任何事情。

简而言之,您没有什么可以阻止别人自称是您,或者您自己无法自称是别人。这与银行 ATM 存在的问题相同。为了确保你是,而弗雷德是弗雷德,等等,你必须跳出问题本身,看看身份验证。如果有人声称 是弗雷德,你怎么知道他是不是弗雷德?特别是,如果你以前从未见过他,你怎么知道他是不是真的弗雷德?他可能是 Ravi、Binyamin 或 Jürgen!

如果您和 Fred 有共同的秘密,或者可以通过其他方式决定是否相信他,您可以使用它。这就是您可以做的所有:决定,当您从某人那里获得一些提交时,当他们告诉您他们是 Fred 时您是否相信他们。

Git 在某种程度上内置了 GPG 签名验证(它本身不执行 GPG 签名,它依赖于 third-party 软件)。您可以签署个人提交,或签署带注释的标签。出于一系列充分的理由,签署个人提交通常成本大于收益。 Git 从 Merkle Tree, so checking the signature of an annotated tag provides a reasonable level of assurance about the commits reachable from that tag. (The amount of protection, however, is not much greater than that of SHA-1.) See also GPG.

提交