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

相关推荐
风尘小子9 小时前
git的.gitignore文件中文件和目录配置
git
Tanner_SL14 小时前
Linux笔记之GIT常用命令
linux·git
醉颜凉18 小时前
Jenkins与Git集成完全指南:从基础配置到自动触发构建
运维·git·jenkins
樱花落木兰19 小时前
Git 超全零基础教程|三区原理、全套命令、分支协作、冲突解决、IDEA 集成(面试必备)
ide·git·json·github
云和数据.ChenGuang20 小时前
git revert回退问题
java·服务器·人工智能·git·fastapi·强化学习
伞伞悦读21 小时前
【第12期】Windows 开发环境备份与恢复:软件、环境变量、Git、conda 和 Docker 卷完整方案
git·docker·conda
吨吨ai21 小时前
Codex 实战:用 Git 分支 + pytest 构建可回滚的 AI 开发流程(2026年8月27日)
人工智能·git·pytest
秋风点枝21 小时前
第一篇:认识 Argo CD —— 从传统发布到云原生 GitOps
git·云原生·argocd
葟雪儿1 天前
本地项目上传到GitHub(小白篇)
git·github
CSDN_RTKLIB2 天前
多次git add拆解
git