重装系统后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

相关推荐
leoZ23113 小时前
Git 集成实战完全指南(三):自动化 Commit 与 PR
大数据·git·elasticsearch
国服第二切图仔16 小时前
002-Claude Code 项目解读:入口与启动流程
linux·git·ubuntu
天空'之城16 小时前
VS Code Git 工作树:告别频繁切分支,实现多分支并行开发实战方案
git·vscode·版本控制·嵌入式开发·开发效率·worktree·多分支管理
程序员爱德华18 小时前
VSCode git/gerrit解冲突
git·vscode·gerrit
leoZ2311 天前
Git 集成实战完全指南(二):智能分支管理
大数据·git·elasticsearch
qq_452396231 天前
第六篇:《GitLab CI 进阶:多环境部署与环境变量管理》
git·ci/cd·gitlab
有想法的py工程师1 天前
GPG 密钥迁移指南:多私钥备份、批量导入与自动信任
git·github
浮江雾1 天前
Flutter第五节------Flutter开发环境配置与项目创建指南
开发语言·前端·git·学习·flutter·入门·函数
aramae2 天前
C++11:现代C++的里程碑
c语言·开发语言·c++·windows·git·后端
BerryS3N2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
大数据·git·elasticsearch