GIT .mailmap按每个仓库运行,但不是全局,为什么?

cwh*_*lms 5 git msysgit

我有一组repos,我有一个.mailmap文件来组合用户名.

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

我试图将文件放在我的〜/ .gitconfig文件中,但它不起作用.我使用Git for Windows和我的全局.gitconfig文件,我添加了这个:

>> git config --global mailmap.file "~/.mailmap"
Run Code Online (Sandbox Code Playgroud)

那是我用过的命令.还尝试了下面显示的日志.

[log]
    mailmap = ~/.mailmap
[mailmap]
    file = C:/Documents and Settings/<username>/.mailmap
Run Code Online (Sandbox Code Playgroud)

两者都导致相同的文件位置,但在使用git-shortlog时似乎不尊重此文件

有什么建议?谢谢.

编辑 从来没有git这在Windows上工作.我的修复方法是将mailmap文件保存在数据库中,并使用脚本将其写入每个存储库.

eck*_*kes 3

看看我的.gitconfig,我发现所有的Windows路径都是用两个反斜杠写的,比如

[difftool "kdiff3"]
  path = C:\\Program Files\\KDiff3\\kdiff3.exe
Run Code Online (Sandbox Code Playgroud)

这对我有用。

也许你应该写

[mailmap]
  file = C:\\Documents and Settings\\<username>\\.mailmap
Run Code Online (Sandbox Code Playgroud)

让事情正常运转。作为替代方案,您可以尝试 git 样式的路径声明,例如

[mailmap]
  file = /c/Documents\ and\ Settings/<username>/.mailmap
Run Code Online (Sandbox Code Playgroud)