git commit --author在全局未设置时不起作用

时间:2015-04-16 20:28:47

标签: git

在具有共享登录的实验室计算机上工作。不想设置全局git配置参数。

git commit --author="username <email>" 

这曾经用于较旧的git版本。现在它产生了这个错误:

*** 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 'blah@blah.(none)')

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

首先,在Git 2.29(2020年第四季度)中,错误消息更加清晰了。

请参见commit 9ed104eJunio C Hamano (gitster)(2020年8月21日)。
(由Junio C Hamano -- gitster --commit e9bd00a中合并,2020年8月31日)

ident:说出user.name提示时说出谁的身份缺失

如果尚未配置user.nameuser.email,并且用户调用:

git commit --author=...  

未指定提交者身份,然后Git出错,并显示一条消息,要求用户配置user.nameuser.email,但不会告诉用户缺少哪个归属。

对于不了解用户,作者和提交者之间区别的Git新用户来说,这可能会造成混淆。

通过扩展错误消息以指出期望的归因,为此类用户提供更多帮助。

错误消息将明确指出:

Author identity unknown
# or
Committer identity unknown

第二,来自OP's comment

其他人使用机器和相同的仓库。我想我可以设置git配置,然后在完成后删除配置

您可以包装git命令并强制每个用于标识自己的命令(每个shell会话一次)。
请参见“ Best pracitces for multi-developer Git for single user application”和我的项目VonC/gitw

答案 1 :(得分:1)

如果您只为当前存储库设置git配置信息怎么办?

  git config user.email "you@example.com"
  git config user.name "Your Name"

修改 根据OP评论,可能的解决方案是:

GIT_AUTHOR_EMAIL="you@email.com" && GIT_AUTHOR_NAME="Your Name" && git commit

答案 2 :(得分:0)

在终端:

  • git config --global user.email "nive54@gmail.com"
  • git config --global user.name "Nivetha"

注意:

<块引用>

GitHub 注册邮箱 --> nive54@gmail.com

您的系统名称 --> Nivetha(请参阅 thispc->properties。)