从服务器拉取一些更改后。
无论我是否尝试这些,我都无法再push
任何事情:
-
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`
即使我创建新的干净存储库并clone
,它仍然会收到相同的错误。
我该如何解决这个问题?
无论如何,这是一些缓存目录,我真的不需要它,如何删除或忽略它?
我也有类似的问题。我发现我必须关闭Visual Studio,因为它保留了目录。
如果您遇到此问题,我建议您关闭所有程序。如果您的问题与我的问题相同,您将能够在保留引用的程序关闭时执行您的 git 命令。如果你系统地这样做,那么你也应该找到罪犯。
可能是几件事,具体取决于您正在运行的计算机的操作系统和 git 的版本。有了更多的细节,我可以更具体。
在Windows上,它要么是目录的权限,要么是目录/路径的长度。在Linux上,这将是权限。我还看到过问题在于目录或文件中不允许的字符的情况。
删除目录的最佳选择是将其克隆到可以正常工作的地方,例如运行root(或VM或运行cygwin)的linux盒,并将其添加到.gitignore file:/wp-content/cache/
。
然后,若要删除已缓存的信息,请键入: git rm -rf –-cached wp-content/cache
,然后提交并推送。
我的解决方案 - 尽管看起来很奇怪 - 是手动创建目录。
我的问题是在分支结帐操作期间相同的"无法创建目录"的事情。手动创建目录后,我能够成功执行 git 签出。
我最近遇到了这个问题,
并尝试在windows 10
上运行git bash
内的各种命令。
但是没有一个奏效,这就是我试图解决这个问题的方法。
-
重启机器,简单!
有时后台进程太多或密集,以至于您无法再停止它们。 -
重新启动后,启动
cmd
或cli
以run as administrator
-
运行
git checkout -f <branch>
所有更改(如果不需要)都将在此过程中被放弃。 -
进入
new
分支后,您可以git branch -D <branch>
,因为您想删除它。
就我而言,我做了以下操作,然后它起作用了。
- 关闭当前正在使用/保存该文件的任何应用程序。对我来说,它是Matlab。
- 我想要"git pull",因此我将相关的文件更改文件存储到不同的位置,并将我的所有更改还原到该文件夹中。
- 然后执行 git 拉取并正常工作。