git commit --当global未设置时,author不工作

tct7dpnv  于 2023-02-02  发布在  Git
关注(0)|答案(5)|浏览(150)

在一个有共享登录的实验机器上工作。不想设置全局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)')

有什么想法吗?

baubqpgj

baubqpgj1#

如果只为当前仓库设置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
mrfwxfqh

mrfwxfqh2#

首先,在Git 2.29(Q4 2020)中,错误信息更加清晰。
参见commit 9ed104e(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的评论来看:
其他人使用这台机器和相同的repo。我想我可以设置git config,然后在完成后删除配置
你可以封装git命令,强制每个用户标识自己(每个shell会话一次)。
参见"Best pracitces for multi-developer Git for single user application"和我的项目VonC/gitw

zazmityj

zazmityj3#

另一个解决方案是,仅为git commit的一次运行设置标识,并使用git-c选项。

git -c user.name="Your Name" -c user.email="you@example.com" commit -m "message"

我的场景是运行一个docker容器,设置一个用户(不是容器中的root用户),对它的主目录没有写权限。

$ docker run -u 1004:1005 -it --rm --entrypoint=/bin/sh docker.io/alpine/git 
~ $ git config --global user.email "you@example.com"
error: could not lock config file /git/.gitconfig: Permission denied
iszxjhcz

iszxjhcz4#

在终端:

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

注:
GitHub注册邮箱--〉nive54@gmail.com
您的系统名称--〉Nivetha(有关此信息,请参阅thispc->properties。)

axkjgtzd

axkjgtzd5#

对于那些谁是工作在Gitbash。
步骤包括设置用户名,然后提供电子邮件地址,以便在使用$git commit -m "message to display"命令时提交更改。
用户名:

$git config --global user.name "xyz"

电子邮件地址:

$git config --global user.email anything@gmail.com

[Do写电子邮件时不要使用引号]
因此,下次使用此命令时,$ git commit -m "abc.txt file added"更改将成功完成。

相关问题