重装系统后GIT仓库修复

重装系统之后,打开原系统的GIT仓库会报账户所有者错误,如下图:

bash 复制代码
fatal: detected dubious ownership in repository at 'D:/Projects/xxx'%0A'D:/Projects/xxx' is owned by:%0A        (inconvertible) (S-1-5-21-2957936414-1458211769-1950632429-1001)%0Abut the current user is:%0A        XL-HP/xx (S-1-5-21-1863453967-816813999-1307148958-1001)%0ATo add an exception for this directory, call:%0A%0A        
git config --global --add safe.directory D:/Projects/xxx

解决方案:

将如下脚本另存为PowerShell脚本

bash 复制代码
# 获取当前脚本所在目录(支持相对路径与绝对路径)
$TargetDir = Split-Path -Parent $MyInvocation.MyCommand.Path

Write-Host "正在修复目录所有者:" $TargetDir -ForegroundColor Cyan

# Step 1: 使用 takeown 取得所有权(递归)
# /D Y 自动回答 Yes,避免交互阻塞
takeown /F "$TargetDir" /R /D Y

# Step 2: 使用 icacls 设置 Owner 为当前用户(递归)
# %USERNAME% 在 PowerShell 中等价于 $env:USERNAME
icacls "$TargetDir" /setowner "$env:USERNAME" /T

Write-Host "所有者修复完成。" -ForegroundColor Green

然后放到需要处理的目录下,以管理员身份运行即可,注意保存的ps1脚本编码需要设置为:UTF-8-BOM

相关推荐
Flynt3 小时前
HN 382分热文里的终端小技巧,我实测了一遍,git pickaxe 最值
git·命令行
横木沉13 小时前
IntelliJ IDEA 无法识别 Git:Git is not installed 问题解决
java·git·github·intellij-idea
为你学会写情书14 小时前
Git 学习指南:从日常命令到多人协作与提交规范
git
东小黑15 小时前
Git 仓库操作与 VSCode 使用指南
git·vscode·gitee
拼图2091 天前
Git常用语法
分布式·git·学习
ShineWinsu1 天前
对于Git:基础操作的超详细保姆级解析
linux·c++·git·面试·备份·管理·版本控制器
沉迷...1 天前
Git skip-worktree 使用笔记(本地忽略配置文件)
javascript·git
解道Jdon2 天前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio
天天喝旺仔2 天前
Git 内部原理深度解析:从 blob/tree/commit 对象到 packfile 与垃圾回收
数据结构·数据库·git·算法·哈希
艾莉丝努力练剑2 天前
【Git:综合复盘】Git 原理与使用
大数据·人工智能·git·elasticsearch·面试