git checkout出错。路径太长了

时间:2016-07-27 06:59:29

标签: windows git git-checkout

当我在克隆repo后尝试签出到另一个分支时,我在Git中出现此错误:

git -c diff.mnemonicprefix=false -c core.quotepath=false checkout develop

fatal: cannot create directory at 'node_modules/karma/node_modules/chokidar/node_modules/anymatch/node_modules/micromatch/node_modules/braces/node_modules/expand-range/node_modules/fill-range/node_modules/isobject/node_modules/isarray/build': Filename too long

node_modules文件夹对于git来说并不重要 (我将文件夹node_modules/放在.gitignore中),但我总是有这个错误。

这似乎是路径太长的问题,因为如果我尝试在资源管理器中导航,我会遇到太长路径的Windows错误。

1 个答案:

答案 0 :(得分:3)

  

我把文件夹nodemodules /放在.gitignore

你需要:

  • node_modules/放入.gitignore,而非nodemodules/
  • 记录从git repo

    删除node_modules/文件夹
    git rm -r --cached -- node_modules/
    

然后你可以提交,并尝试再次结账。

OP padibro确认in the comments版本问题:

  

我已经从1.7.x更新了git到2.7.4(windows上的sourcetree的嵌入式git),现在工作正常

如" Git cannot create a file or directory with a long path"中所述,PR 122仅在Git for Windows for git 1.9.0及更多内容中添加了core.longpaths