绕过git中的“Tell me who you are”错误

14

当我试图提交存储库时,出现了以下错误:

$ git commit

*** Please tell me who you are.

Run

git config --global user.email "you@example.com"

git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got '[output redacted]')

显而易见的解决方案是在输出中运行git config选项,但我不想这样做。

涉及的计算机不属于特定的个人,而是共享计算机。因此,每个提交将是不同的用户。

我该如何绕过这个问题并设置作者为每次提交而不是全局?


4
如果你在运行 git config 命令时没有添加 --global 选项,那么你只会为当前的克隆版本库设置作者信息。为了让全局都生效,需要加上 --global 选项。 - approxiblue
1
如果多个人要添加到同一个克隆体,该怎么办? - Brandon Nguyen
2
一个克隆库供多个提交者使用本来就是可疑的做法。你为什么想这样做呢? - tripleee
1
代码是团队协作完成的。涉及到的计算机也属于团队,没有特定的人使用,这意味着团队中的任何人都可以使用它。 - Brandon Nguyen
2个回答

24

另一个选项是使用-c标志将配置参数传递给当前命令。

在您的情况下,git -c user.email="your@email.com" -c user.name="Your Name" commit ...

-c值会覆盖任何其他默认值(已设置和未设置的参数)。请注意,所有-c选项都需要在命令名称commit之前提供。


这对我起作用了,但我必须使用语法 user.email="you@email.com"user.name="Your Name"(注意等号)。 - sffc

0
你可以使用 --author 标志:
$ git commit --author="A U Thor <author@example.com>" 

我听说作者和提交者是两回事,对吗? - Brandon Nguyen
当配置文件名称更改时,作者也更改了,就会发生这种情况:http://i.imgur.com/d933jHh.png - Brandon Nguyen
为什么这是一张图片?是的,作者和提交者是不同的。 - tripleee
14
从 Git 2.12.2 开始,如果默认值未设置,则此操作将失败。 - chrylis -cautiouslyoptimistic-

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