windows - 如何在 Windows 11 上更改本地 GIT 存储库的所有权

标签 windows permissions repository git-for-windows

我是一个相对较新/轻度的 GIT 用户。我使用本地 git 存储库来备份我的代码,并且尚未在 github.com 或任何其他远程存储库托管系统上设置远程存储库。我正在 Windows 10 和 Windows 11 计算机上工作。

我使用 git init 创建了一个本地 git 存储库它在我的项目目录下创建了一个 .git 文件夹。我将如此创建的 .git 文件夹移动到 USB 拇指驱动器 (D:) 并将其重命名为 myrepo。在我的项目目录中,我创建了一个 .git 文件,其设置为 gitdir: D:/myrepo 。我的流程是,如果我的 C: 驱动器出现故障,我会将本地存储库安全地保存在 USB 拇指驱动器上,因为我尚未设置远程存储库。在此设置下一切都运行良好。

现在我有一台新机器(Windows 11)。我将项目代码复制到新机器并插入 USB 拇指驱动器 (D:)。然而,当我执行任何 git 命令时,我收到一个错误 - 致命:在存储库中检测到可疑的所有权......。经过一些研究,我发现由于最近的 git 安全漏洞,git 的更新导致它在执行命令之前检查存储库所有权。

一个简单的解决方案是添加 safe.directory 设置 git config --global -add safe.directory <project directory> 。但我正在努力弄清楚这件事的真相。在 WINDOWS 平台上 - git 如何知道本地存储库的所有者?如前所述,本地存储库位于 USB 拇指驱动器上,该驱动器是 FAT32 分区,并且没有任何类型的文件所有权。那么 git 如何知道存储库是由其他用户创建的呢?还有一种方法可以更改 git 本地存储库的所有权,这样我就不必使用 safe.directory 设置。

预先感谢您为社区提供的任何帮助。

最佳答案

无需创建新文件夹(以下操作需要本地管理员)。首先右键单击解决方案文件夹,单击“属性”->“安全”选项卡,然后单击“高级”按钮。在顶部,您将看到对象和所有者的名称以及用于更改所有者的链接。单击“更改”并输入您的用户名。这会将解决方案文件夹的所有权更改为您。然后最后启用隐藏文件的查看并对 .git 文件夹执行相同的操作,它应该可以正常工作。

关于windows - 如何在 Windows 11 上更改本地 GIT 存储库的所有权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73358728/

相关文章:

c++ - 在 Vista 上更新 KB3059317 后,MFC 程序挂起 : broken Comctl32. dll?

c++ - 如何在 C++ 上检测 Windows 是 32 位还是 64 位?

database - 授予对 db SYBASE 中所有表的权限

android - 清除下载权限拒绝?

c# - 在哪里放置验证逻辑?在服务或存储库中?

java - 如何创建本地存储库以使用 Eclipse?

python - Windows 10 上的 Spark。 'Files\Spark\bin\..\jars"“\”未被识别为内部或外部命令

使用 Java 的 Windows 运行应用程序列表

linux - 所有者无法访问该文件

repository - DDD 和 MVC : The Contoller gets the AggregateRoot from Factory not Repository? 是吧?