13

在从服务器拉取一些更改之后。

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,它仍然会出现相同的错误。

我该如何解决这个问题?
无论如何,这是一些缓存目录,我真的不需要它,如何删除或忽略它?

4

5 回答 5

26

我有一个类似的问题。我发现我必须关闭 Visual Studio,因为它保留了目录。

如果遇到此问题,我建议您关闭所有可能的程序。如果您的问题与我的问题相同,您将能够在保留引用的程序关闭时执行您的 git 命令。如果你系统地这样做,那么你也应该找到罪犯。

于 2017-05-18T14:54:40.207 回答
7

取决于您正在运行的机器的操作系统和 git 的版本,可能有几件事。有了更多的细节,我可以更具体。

在 Windows 上,它要么是目录的权限,要么是目录/路径的长度。在 Linux 上,这将是权限。我还看到了问题出在目录或文件中的不允许字符的情况。

删除目录的最佳选择是将其克隆到可以工作的地方,例如运行 root 的 linux 机器(或 vm 或运行 cygwin),并将其添加到 .gitignore 文件中/wp-content/cache/

然后,要删除已缓存的信息,请键入: git rm -rf –-cached wp-content/cache然后提交并推送。

于 2013-11-07T02:09:22.273 回答
0

我的解决方案 - 看起来很奇怪 - 是手动创建目录。

我的问题是在分支结帐操作期间同样的“无法创建目录”。手动创建目录后,我能够成功执行 git checkout。

于 2019-08-29T14:12:05.610 回答
0

我最近遇到了这个问题,并尝试在on
中运行各种命令。但没有一个工作,这就是我试图解决这个问题。git bashwindows 10

  • 重启机器,简单!
    有时后台进程太多或太密集,以至于您无法再停止它们。

  • 重启后,启动cmdorclirun as administrator

  • 运行git checkout -f <branch>
    所有更改,如果不需要,将在此过程中放弃。

  • 一旦进入new分支,您就可以将git branch -D <branch>其删除。

于 2020-04-15T15:11:58.943 回答
0

就我而言,我做了以下操作,然后它起作用了。

  1. 关闭当前正在使用/保存文件的任何应用程序。对我来说是 Matlab。
  2. 我想要“git pull”,因此我将相关文件更改的文件存储到不同的位置并恢复我在该文件夹中的所有更改。
  3. 然后执行 git pull 并且工作正常。
于 2020-06-16T08:38:51.590 回答