在一个有共享登录的实验机器上工作。不想设置全局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)')
有什么想法吗?
5条答案
按热度按时间baubqpgj1#
如果只为当前仓库设置git配置信息会怎样?
编辑根据OP备注,可能的解决方案为:
mrfwxfqh2#
首先,在Git 2.29(Q4 2020)中,错误信息更加清晰。
参见commit 9ed104e(2020年8月21日)。
(由Junio C Hamano --
gitster
--合并至commit e9bd00a,2020年8月31日)ident
:在给出user.name
提示时指出缺少谁的标识如果尚未配置
user.name
和user.email
,并且用户调用:如果没有指定提交者的身份,Git就会出错,并显示一条消息,要求用户配置
user.name
和user.email
,但不告诉用户缺少了哪一个属性。对于不熟悉Git的用户来说,这可能会让他们感到困惑,因为他们不知道用户、作者和提交者之间的区别。
通过扩展错误消息以说明预期的属性,可以为此类用户提供更多帮助。
错误消息将明确指出:
第二,从OP的评论来看:
其他人使用这台机器和相同的repo。我想我可以设置git config,然后在完成后删除配置
你可以封装git命令,强制每个用户标识自己(每个shell会话一次)。
参见"Best pracitces for multi-developer Git for single user application"和我的项目
VonC/gitw
。zazmityj3#
另一个解决方案是,仅为
git commit
的一次运行设置标识,并使用git
的-c
选项。我的场景是运行一个docker容器,设置一个用户(不是容器中的root用户),对它的主目录没有写权限。
iszxjhcz4#
在终端:
git config --global user.email "nive54@gmail.com"
git config --global user.name "Nivetha"
注:
GitHub注册邮箱--〉
nive54@gmail.com
您的系统名称--〉
Nivetha
(有关此信息,请参阅thispc->properties
。)axkjgtzd5#
对于那些谁是工作在Gitbash。
步骤包括设置用户名,然后提供电子邮件地址,以便在使用
$git commit -m "message to display"
命令时提交更改。用户名:
电子邮件地址:
[Do写电子邮件时不要使用引号]
因此,下次使用此命令时,
$ git commit -m "abc.txt file added"
更改将成功完成。