从服务器拉出一些更改后。
我再也无法推送任何内容如果我正在尝试git git push
或git pull
或git merge
或git rebase origin/master
或git reset --hard
总是说fatal: cannot create directory at /root/wp-content/cache/page_enhanced/.... No such a file or directory
即使我创建新的清理存储库并尝试克隆它仍然会得到相同的错误。
我如何解决这个问题...无论如何这是一些缓存目录,我不需要它...如何删除或忽略它?
答案 0 :(得分:18)
我有类似的问题。我发现我必须关闭Visual Studio,因为它保留在目录中。
如果您遇到此问题,我建议您关闭所有程序。如果您的问题与我的问题相同,那么当持有该引用的程序关闭时,您将能够执行您的git命令。如果你系统地做,那么你也应该找到罪犯。
答案 1 :(得分:6)
可能有几件事取决于您运行的机器的操作系统和git的版本。有了更多细节,我可能会更具体。
在Windows上,它是目录的权限,或者是目录/路径的长度。在Linux上,它将是权限。我也看到了问题是目录或文件中不允许的字符的情况。
删除目录的最佳选择是将其克隆到可行的地方,例如运行root(或vm或运行cygwin)的linux机箱,并将其添加到.gitignore文件中:/wp-content/cache/
。
然后,要删除已缓存的信息,请键入:
git rm -rf –-cached wp-content/cache
然后提交并推送。
答案 2 :(得分:0)
我的解决方案-看起来很奇怪-是手动创建目录。
我的问题是在分支结帐操作期间出现了同样的“无法创建目录”的问题。手动创建目录后,我能够成功执行git checkout。
答案 3 :(得分:0)
我最近遇到了这个问题,
并尝试在git bash
的{{1}}内运行各种命令。
但是没有任何效果,这就是我试图解决的问题。
重启机器,简单!
有时,后台进程是如此之多或密集,以至于您无法再阻止它们。
重新启动后,将windows 10
或cmd
启动到cli
运行run as administrator
所有更改(如果不需要的话)将在此过程中放弃。
一旦进入git checkout -f <branch>
分支,便可以new
,因为您要删除它。
答案 4 :(得分:0)
就我而言,我做了以下工作,然后奏效了。