当我在克隆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错误。
答案 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
。