Git mailmap在每个回购协议中都有效,但在全球范围内不起作用,为什么?
我有一组回购协议,我有一个.mailmap文件来组合用户名 当My.mailmap文件位于每个repo的根目录中时,它适用于所有repo 我试图将该文件放在我的~/.gitconfig文件中,但它不起作用。我正在使用Git for Windows 在我的global.gitconfig文件中,我添加了以下内容: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
>> 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