git - 在 Visual Studio 2015 git repo 中切换分支时发生错误,无法 rmdir 访问被拒绝
问题描述
在 Visual Studio 2015 中切换 git 分支时出现以下错误。
发生错误。详细消息:无法 rmdir '目录路径':访问被拒绝。当我尝试切换当前分支时会发生这种情况。
此问题的根本原因是我计算机上的所有文件夹都标记为只读。即使我从属性窗口中删除它,它也不会删除只读属性。这是一个众所周知的问题,很多人在互联网上谈论它,但没有人有任何解决方案。
我尝试了以下但对我不起作用。
- https://appuals.com/how-to-fix-folder-keeps-reverting-to-read-only-on-windows-10/
- https://bobcares.com/blog/folder-keeps-reverting-to-read-only-on-windows-10/
更新
我用 git bash 检查了它。我能够切换分支。但不是视觉工作室。
解决方案
有很多事情需要检查:
- 您的工作目录可由您的用户写入。
- 您的存储库(即
.git
文件夹和所有子文件夹和文件)可由您的用户写入。 - 您的文件系统是可写的。
- 文件系统上有足够的空间。
- 没有应用程序锁定目录/文件。Windows 因锁定文件以进行独占访问而臭名昭著。在此目录中打开 Git Bash 可能会导致它,甚至 Visual Studio 也可能是这种情况。
- 关闭 Visual Studio 并尝试从外部进行操作,例如使用 Git Bash。
- 没有会导致冲突的大小写折叠。对于 Git
Folder
和folder
是两条不同的路径,对于 Windows,它们是相同的。
推荐阅读
- powershell - 如何处理带有空格的目录?
- python - 用于在特定位置添加字符的正则表达式
- python - 网页抓取问题。我正在使用美丽的汤和蟒蛇
- ajax - 如何在 Django 中进行 ajax 调用后显示更新日期
- html - 条件 css - 悬停 - 溢出
- python - 模拟时存储正确值的问题
- nginx - 通过 Unix 域套接字连接 Nginx 和 Varnish 6 不起作用
- javascript - Vuex 模块中的两个级别
- angular - 从模式弹出窗口执行 router.navigate 时,this.router.navigate 不是函数错误
- elasticsearch - 在 Elasticsearch 中添加子聚合