git中的作者/提交人数据不';t尊重GIT_配置变量
我有一个全局git中的作者/提交人数据不';t尊重GIT_配置变量,git,Git,我有一个全局~/.gitconfig文件,其中我指定了用户电子邮件和用户名(我不使用系统范围的文件): 这样做可以正确设置提交人和作者的详细信息。当我使用指向包含以下内容的文件的git\u config变量定义特定git config时,问题开始出现: [user] name = Other Surname email = test2@domain.com 所以在本例中,我同时拥有~/.gitconfig和/home/user/directory/.gitconfig文件。后者
~/.gitconfig
文件,其中我指定了用户电子邮件和用户名(我不使用系统范围的文件):
这样做可以正确设置提交人和作者的详细信息。当我使用指向包含以下内容的文件的git\u config
变量定义特定git config时,问题开始出现:
[user]
name = Other Surname
email = test2@domain.com
所以在本例中,我同时拥有~/.gitconfig
和/home/user/directory/.gitconfig
文件。后者应优先,因为它由GIT\u CONFIG
变量指出。这似乎可以作为git config用户使用。电子邮件显示预期值:
$ export GIT_CONFIG=/home/user/directory/.gitconfig
$ git config user.email
test2@domain.com
考虑到我希望在某个存储库中执行提交(将GIT_CONFIG
导出为上面的代码片段)将以提交结束,并将author/committer设置为其他姓氏
,但我看到的是名称姓氏
总之,git config
显示预期值(关于git_config
),而git commit
使用全局配置文件中的值
重写
GIT\u AUTHOR\u*
和GIT\u COMMITTER\u*
的工作与预期的一样,但我不明白为什么在这种情况下GIT commit
不接受GIT config
返回的值(不考虑GIT\u config
变量)。我做错了什么 我从来没有真正理解过GIT\u CONFIG
vars的用例,即1.8.2 rel注释
(那是七年多以前)说
- 我们不再关注$GIT_CONFIG环境,它指向 从除“git config”以外的任何命令在单个配置文件中 很久以前,但是“git克隆”在内部设置、导出和 然后在不必要的操作过程中取消对变量的报告
git config
上的-f
选项是我一直用来读取或更新配置格式文件的
编辑:
重写GIT\u AUTHOR\u*
和GIT\u COMMITTER\u*
工作正常
那就这么做吧。您还可以使用特定于回购协议的配置,甚至可以使用条件包含
我不确定是否有任何理由说明
GIT_CONFIG
var不应该工作,除此之外,没有理由让它继续工作,它就在那里。有人可能会非常恼火地修补文档,说它不受欢迎,但在此之前,我会说这只是一个没有人喜欢的不必要特性的残余。我从来没有真正理解过GIT\u CONFIG
vars,1.8.2 rel notes的用例
(那是七年多以前)说
- 我们不再关注$GIT_CONFIG环境,它指向 从除“git config”以外的任何命令在单个配置文件中 很久以前,但是“git克隆”在内部设置、导出和 然后在不必要的操作过程中取消对变量的报告
git config
上的-f
选项是我一直用来读取或更新配置格式文件的
编辑:
重写GIT\u AUTHOR\u*
和GIT\u COMMITTER\u*
工作正常
那就这么做吧。您还可以使用特定于回购协议的配置,甚至可以使用条件包含
我不确定是否有任何理由说明
GIT_CONFIG
var不应该工作,除此之外,没有理由让它继续工作,它就在那里。有人可能会很恼火地对文档进行修补,说它不受欢迎,但在此之前,我会说这只是一个没有人喜欢的不必要的特性的残余。只有git-config
尊重git\u-config
,其他git
命令不尊重。我认为它是用来读/写任何.gitconfig
-like文件(.gitmodules
,例如),但不是用来覆盖标准的系统/全局/本地.gitconfig
s。只有gitconfig
方面git\u-config
,其他git
命令没有。我认为它是用来读/写任何类似于.gitconfig
的文件(.gitmodules
,例如),但不是用来覆盖标准系统/global/local.gitconfig
s。
$ export GIT_CONFIG=/home/user/directory/.gitconfig
$ git config user.email
test2@domain.com