尝试使用git设置文件名长度限制 - 权限被拒绝

时间:2016-12-16 03:51:43

标签: git msysgit

我正在尝试克隆包含具有长路径名的文件的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时,我找不到。有谁知道发生了什么?

2 个答案:

答案 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-bash并更改它

git config --system core.longpaths true