git pull时错误无法统计

Fil*_*Fil 28 git permissions file

我尝试使用以下命令从远程分支执行git pull:

$ git pull origin branch_name
username@private_repository's password:
From ssh://private_repository/path/project
 * tag               branch_name       -> FETCH_HEAD
error: cannot stat 'path/name/of/file': Permission denied
error: cannot stat 'path/name/of/file': Permission denied
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

error: cannot stat 'path/name/of/file': Permission denied 
error: cannot stat 'path/name/of/file': Permission denied
Run Code Online (Sandbox Code Playgroud)

有谁知道这意味着什么,我能做些什么呢?

谢谢

Tom*_*ers 79

对于使用Visual Studio的用户,关闭解决方案可能会解决此错误.IDE的git工具可能仍然存在有问题的文件.

  • 同样,我也遇到了同样的问题,解决方案是关闭记事本++,该记事本通过“文件夹作为工作区”选项打开。似乎以下大多数答案是关闭所有引用文件的程序并再次拉出的基本解决方案的变体。 (3认同)

小智 25

我开始使用Atom并发现它是问题所在.需要刷新Atom文件树并解决git问题.


Dav*_*zar 15

我和Atom一直有这个问题,关闭Atom每次都为我解决了.使用可能受拉动影响的文件关闭所有应用程序.


zip*_*zit 7

我对此错误有不同的解决方案.我一直在使用atom.io作为我的开发工具.我想放弃我最近的试验工作(git clean -df后面跟着git checkout -- .)当我这样做时,在Atom的目录树中显示了一些剩余的空目录.

error: cannot stat 'path/name/of/directory': Permission denied当我尝试在git中检出替代分支时,那些空目录正在生成.令人沮丧的.

解决方法是简单地点击目录树中Atom内的目录,他们会立即'poof'消失.一旦它们消失了,git就不再有错误了.

  • 奇怪的.我也使用原子,在今天之前从来没有遇到过这个问题,做了一个正常的`git pull`并得到了导致我在这里的错误...退出原子就行了! (2认同)

joe*_*ez4 6

我也遇到过同样的问题,而我发现的方法是重新启动代码编辑器,关闭与项目(Atom)和git GUI(SourceTree)相关的所有文件。之后,您可以更改分支。


Tal*_*sar 4

解释很简单——您对 git 文件和存储库的权限存在安全问题。您需要拥有从 git 提取文件的权限。

如果目录权限为 755 (rwxr-xr-x)(包括所有父目录),则任何人都可以列出该目录内容。

但你不能,所以这通常意味着完整目录路径没有 755 权限。这也意味着所有父目录必须具有 +x 权限。

  • 这不是正确的答案,这通常是文件权限问题,而不是安全问题。可能其他程序正在锁定 git 尝试访问的文件(IE Visual Studio、Atom、VS Code、另一个 shell。)在 Visual Studio 中,您会发现“重新加载/重新加载解决方案”对话框,选择其中任何一个都可以解决此问题。请参阅其他对此的支持评论(@TomBowers、@Brucelerner 等) (23认同)