我正在尝试克隆包含具有长路径名的文件的GitHub存储库,并且我试图使用命令来解决Git的文件长度限制
git config --system core.longpaths true
但是,我收到错误消息:
error: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Permission denied
error: could not lock config file C:\Program Files\Git\mingw64/etc/gitconfig: Invalid argument
这看起来很奇怪,因为该命令试图更改Program Files中的文件,而不是C:\ Users \ username中的文件。此外,当我检查.gitconfig文件的C:\ Users \ username时,我找不到。有谁知道发生了什么?
答案 0 :(得分:3)
您想要git config --global
。
这看起来很奇怪,因为该命令试图更改Program Files中的文件,而不是C:\ Users \ username中的文件。
这是预期的行为。由于您运行git config --system
,它将查找系统范围的配置文件。来自git-config
docs ...
- 系统
对于写入选项:写入系统范围的$(前缀)/ etc / gitconfig而不是存储库.git / config。
您可能需要git config --global
写入您的用户目录中的全局git配置文件。这与git config --local
形成对比,.git/config
用于写入msysgit
中当前存储库的配置文件。
- 全球
对于写入选项:写入全局〜/ .gitconfig文件而不是存储库 .git / config,如果此文件存在且写入$ XDG_CONFIG_HOME / git / config文件 〜/ .gitconfig文件没有。
我希望git config --system
没有改变C:\Program Files\Git\mingw64
的行为,所以它天真地将Windows样式前缀/etc/gitconfig
与Unix样式{{1}}混合在一起并得到废话混合分隔符的路径。
考虑letting them know about this behavior并建议给出更好的错误消息。
答案 1 :(得分:1)
打开cmd shell
作为管理员
进入程序文件git
git config --system core.longpaths true