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

时间:2017-02-20 09:54:15

标签: git commit author

我想为我的Git提交制作不同的用户。例如,现在我们有5个系统安装了Git。但是在将更改提交到Git远程存储库时,我可以在提交窗口中更改我的默认作者姓名和电子邮件。

我怎样才能让它们无法改变?

2 个答案:

答案 0 :(得分:1)

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

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

我已为此示例添加了-m标记,但您可以将其排除并在您喜欢的编辑器中设置提交消息。

假设您正在使用CLI,如果您正在使用GUI / IDE,请告诉我,并且我将查看是否可以找到如何使用作者设置。

答案 1 :(得分:1)

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

简而言之,没有任何东西 - 几乎没有 - 你可以阻止其他人自称是你,或者阻止自己声称自己是别人。这与银行ATM有同样的问题。为了确保您,Fred是Fred等等,您必须脱离问题本身并查看身份验证。如果某人声称是弗雷德,你怎么知道他是不是弗雷德?特别是,如果你以前从未见过他,你怎么知道他是不是弗雷德?他可能是Ravi,或Binyamin,或Jürgen!

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

Git在某种程度上内置了GPG签名验证(它本身不执行GPG签名,它依赖于第三方软件)。您可以签署单个提交,或签署带注释的标签。出于一系列好的理由,签署个人提交通常比成本更高。 Git提交形式为Merkle Tree,因此检查带注释标记的签名可以提供对该标记可以访问的提交的合理保证。 (但是,保护量并不比SHA-1大很多。)另见GPG

相关问题