急急急:重新系统后,发现所有 git 仓库都警告 fatal: detected dubious ownership,怎么解决?

好吧,其实一点也不急,毕竟距离重装系统已经过去很多天了。

电脑分了多个盘,其中 D 盘专门用于存放代码。

当你重装系统后,打开 D 盘中的代码仓库,你会发现 git 爆出警告:fatal: detected dubious ownership

原因就是重装前后的两个用户 ID 不相同,所以 git 将该仓库表示为不安全的。此时你可以有两种处理方式:

  • 接通过 git 配置,将当前文件夹添加到安全目录中,比如这样: git config --global --add safe.directory D:/draft/all-code-tmp
  • 或者通过系统修改当前文件夹的所有者。

很明显,由于我们是重装系统导致的用户变更,所以我们肯定选择第二种方式呀,因为它更简单

手动修改每个文件夹的所有者

原本想直接给出解决方案的,但突然发现,太简单了!对不起我所逝去的青春啊(一个小时呢!)

所以决定先给出视图操作的方式:

  1. 首先,按住 Alt 双击文件夹,从而打开文件夹的属性

  2. 然后,点击"安全"------"高级"

  3. 此时可以看到当前的所有者是一串 ID,这个 ID 就是我重装系统前的用户 ID。(ID 露出来应该没事吧,大佬黑客也不会看我文章)

  4. 然后输入你的用户名,点击检查,没问题的话就点击确认

大功告成,现在,你打开 git 仓库就不会有警告了!

使用命令行修改文件所有者

首先,你应该看到上图中的"更改"按钮那里有个管理员图标了,所以我们的命令行当然也得以管理员权限运行啦:

powershell 复制代码
icacls .\tx-comic\ /setowner $env:USERNAME /T /Q

相关参数说明:

  • .\tx-comic\ 是要修改的文件夹
  • $env:USERNAME 表示当前用户名,比如我的用户名就是 k
  • /T 参数表示应用修改到文件夹下的所有子文件夹和文件,
  • /Q 参数表示以静默模式执行命令(不显示成功消息)。因为子文件夹很多时,会输出很长的日志。

有了 1,那么距离无穷也就不远了。批量编辑

批量编辑 D:\ 盘中的所有文件

powershell 复制代码
d:
# 切换到 D盘

cd d:\
# 切换到根目录

$files = Get-ChildItem .
# 获取所有文件

foreach ($file in $files) {
    Write-Output $file.FullName
    # 遍历输出
}


# 确定没问题后,将 forEach 中的代码换成
icacls $file.FullName /setowner $env:USERNAME /T /Q

直接复制版本:

powershell 复制代码
d:

cd d:\

$files = Get-ChildItem .

foreach ($file in $files) {
    icacls $file.FullName /setowner $env:USERNAME /T /Q
}

想要我的笔记吗?想要就都给你吧,去找吧!Linhieng Github Note 仓库!我把我的一切都放在了那里了!

想要我的玩具吗?想要就都给你吧,去找吧!Linhieng Github Toy 仓库!我把我的一切都放在了那里了!

相关推荐
vvw&35 分钟前
如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台
linux·运维·服务器·ubuntu·开源·github·graylog
HelloGitHub2 小时前
跟着 8.6k Star 的开源数据库,搞 RAG!
开源·github
大猫和小黄2 小时前
Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
linux·服务器·windows·git
孤水寒月2 小时前
Git忽略文件.gitignore
git·elasticsearch
DN金猿11 小时前
git命令恢复/还原某个文件、删除远程仓库中的文件
git
DWei_GaGa14 小时前
Git:查看分支、创建分支、合并分支
git
sdaxue.com14 小时前
帝国CMS:如何去掉帝国CMS登录界面的认证码登录
数据库·github·网站·帝国cms·认证码
m0_7482475515 小时前
github webhooks 实现网站自动更新
github
涵信16 小时前
Windows11 安装 Ubuntu-20.04,同时安装配置 zsh shell,配置 git 别名(alias),大大提高开发效率
linux·git·ubuntu·bash
张国荣家的弟弟16 小时前
【Yonghong 企业日常问题04】永洪BI可视化工具Linux部署全攻略(部署详解版)
linux·运维·github