我正在使用git
来跟踪服务器上一系列系统配置文件的更改。这些文件归root
帐户所有(出于各种内部企业原因,root是此框中唯一的帐户)。
有一个中央git服务器,该系统上所做的所有更改都被推送到。
我要做的是禁止git
因为没有设置用户帐户而引发的警告。我们所做的是,任何在git控件下更改文件的人只需在提交时设置--author
选项 - 但是,git仍会抱怨没有设置用户信息。
详细信息,确切的信息是:
[root@server ~]# git commit --author "Karunamon <karunamon@company.com>"
[master 491d9f8] File updated
Author: Karunamon <Karunamon@company.com>
Committer: root <root@server>
Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:
git config --global user.name "Your Name"
git config --global user.email you@example.com
After doing this, you may fix the identity used for this commit with:
git commit --amend --reset-author
1 file changed, 1 insertion(+), 1 deletion(-)
基本上,这是一个双重问题:
首先,是否有办法压制此警告消息?设置配置变量将以混乱的方式结束,因为会有很多人在根服务器下访问此服务器上的同一个存储库帐户。
我确实尝试使用环境变量(GIT_AUTHOR_EMAIL
,GIT_AUTHOR_NAME
等),但会出现相同的消息。
其次,是否有更好的方法(缺少涉及.rc文件的一些可怕的黑客并要求登录)设置用户名和电子邮件,以便我的用户不必添加每次提交都有一个--author
标志?
环境变量选项本来是完美的 - 我可以让我的用户在登录时导出变量然后它们一直很好,直到下一次连接..但是git仍然抱怨。
答案 0 :(得分:3)
尝试
git -c user.email="Karunamon <karunamon@company.com>" commit
这将在执行该命令时覆盖配置设置。
然后,您可以创建一个git
别名/包装器,在执行时从本地env变量中插入该值。
答案 1 :(得分:0)
git -c user.email="karunamon@company.com" -c user.name="Karunamon" commit
那个适合我。它也需要user.name。