首页 > 解决方案 > 如何在 Windows 上的 git 中使文件可读可写?

问题描述

我在 Windows 上使用 git bash。我编辑了一些文件,提交它们并推送到一个分支,然后我切换回 master 来拉它,然后尝试切换回我的分支以将 master 合并到其中。Git告诉我我没有权限获取一堆文件并拒绝签出分支。

关于在 Windows 上更改 git 中的文件权限,我唯一能找到的是一堆关于如何翻转可执行位的帖子,并告诉我可以使用git ls-tree branchand来查看权限git ls-files branch。使用前者,我看到包含文件的文件夹在我要切换回的分支上具有 040000 的权限。显然,翻转可执行位不会使该文件夹可读写。如何将这些权限改回来?

编辑:环顾四周,我很困惑。所有文件夹都具有与上述相同的权限(040000),但我可以 cd 进入它们并查看那里的文件。有问题的文件夹是仅在新分支中添加的文件夹。无论如何,我似乎在我签出的仓库中有它们的副本,但它们无法通过 git bash 或 Windows 资源管理器访问。

标签: windowsgitpermissions

解决方案


好吧,在这种特殊情况下,我能够通过 Windows 资源管理器删除包含有问题的文件夹之一的文件夹来解决问题。完成此操作后,我尝试删除另一个文件夹,但单击它会导致 Windows 告诉我它不再存在(而不是我无法访问它,这是它之前告诉我的)。这两个文件夹根本不相关。无论如何,我确认 git bash 中都不存在任何文件夹,然后能够成功签出分支。我不确定这里发生了什么,如果有人有的话,我仍然希望得到解释。


推荐阅读