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