Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git mailmap在每个回购协议中都有效,但在全球范围内不起作用,为什么?_Git_Msysgit - Fatal编程技术网

Git mailmap在每个回购协议中都有效,但在全球范围内不起作用,为什么?

Git mailmap在每个回购协议中都有效,但在全球范围内不起作用,为什么?,git,msysgit,Git,Msysgit,我有一组回购协议,我有一个.mailmap文件来组合用户名 当My.mailmap文件位于每个repo的根目录中时,它适用于所有repo 我试图将该文件放在我的~/.gitconfig文件中,但它不起作用。我正在使用Git for Windows 在我的global.gitconfig文件中,我添加了以下内容: >> git config --global mailmap.file "~/.mailmap" 这是我使用的命令。还尝试了下面显示的日志 [log] mailma

我有一组回购协议,我有一个.mailmap文件来组合用户名

当My.mailmap文件位于每个repo的根目录中时,它适用于所有repo

我试图将该文件放在我的~/.gitconfig文件中,但它不起作用。我正在使用Git for Windows 在我的global.gitconfig文件中,我添加了以下内容:

>> git config --global mailmap.file "~/.mailmap"
这是我使用的命令。还尝试了下面显示的日志

[log]
    mailmap = ~/.mailmap
[mailmap]
    file = C:/Documents and Settings/<username>/.mailmap
[日志]
mailmap=~/.mailmap
[邮件地图]
file=C:/Documents and Settings//.mailmap
两者都指向相同的文件位置,但在使用git shortlog时似乎并不尊重此文件

有什么建议吗? 谢谢

编辑
从未在windows上使用过git。我的破解方法是将mailmap文件保存在数据库中,并使用脚本将其写入每个存储库。

查看我的
.gitconfig
,我发现所有的windows路径都使用了两个反斜杠,如

[difftool "kdiff3"]
  path = C:\\Program Files\\KDiff3\\kdiff3.exe
这对我有用

也许你应该写信

[mailmap]
  file = C:\\Documents and Settings\\<username>\\.mailmap
[mailmap]
file=C:\\Documents and Settings\\\\\.mailmap
让事情运转起来。作为替代方案,您可以尝试git样式的路径声明,如

[mailmap]
  file = /c/Documents\ and\ Settings/<username>/.mailmap
[mailmap]
file=/c/Documents\和\Settings/.mailmap

您是否设置了HOME环境变量?默认情况下,它不是在Windows上定义的。我尝试了~/和实际路径,结果相同。Msysgit补充道,我相信。@cwhelms:不,Msysgit不会自动添加
HOME
,它依赖Windows环境变量
HOME
进行大量操作。我不知道它是否与mailmap有任何关系,但在进行任何msysgit操作之前,首先确保正确设置了
HOME
,这并没有什么坏处。当我使用C:/。。。或~/。我每样东西都试过C:/还是nothing@cwhelms:“
git short
”?我不知道那个命令(
shortlog
maybe?)。顺便问一下,您使用的是什么版本的Git?无论如何,正确设置的
HOME
环境变量是确保某些git命令能够顺利运行的先决条件。这一点很好,但是
'C:/Program Files/KDiff3/KDiff3.exe'
(注意单引号)也应该可以工作,如中所示。仍然是+1;)仍然不起作用。我尝试了所有3个建议。git风格的路径根本不起作用,表示配置文件不正确。我会继续尝试不同的事情。不过这在linux上是可行的!啊,窗口…在窗口上。。。mailmap不能使用单引号。不加引号和双引号都有效。单正斜杠或双反斜杠也有效。在所有这些版本中都有相同的行为:git版本1.9.4.msysgit.0、git版本2.1.4、git版本2.6.1.windows.1