Windows 재설치 후 Git "unsafe repository" 오류 해결하기

Jinha Song·2025년 12월 24일

문제 상황

Windows 11을 재설치한 후 SourceTree나 Git에서 기존 저장소를 열려고 하면 다음과 같은 오류가 발생한다.

fatal: detected dubious ownership in repository at 'D:/Github/my-project'
'D:/Github/my-project' is owned by:
        'S-1-5-21-xxxxxxxxxx-xxxxxxxxxx-xxxxxxxxxx-xxxx'
but the current user is:
        'S-1-5-21-yyyyyyyyyy-yyyyyyyyyy-yyyyyyyyyy-yyyy'
To add an exception for this directory, call:
        git config --global --add safe.directory D:/Github/my-project

저장소마다 git config --global --add safe.directory 명령어를 실행해야 하는 번거로운 상황이 된다.

원인

Windows를 재설치하면 동일한 사용자 이름을 사용하더라도 새로운 SID(Security Identifier)가 부여된다. 기존 D드라이브에 있던 파일들은 이전 Windows의 SID를 소유자로 기록하고 있기 때문에, Git은 현재 사용자와 파일 소유자가 다르다고 판단하여 보안 경고를 발생시킨다.

해결 방법

D드라이브의 Git 저장소 폴더 소유권을 현재 사용자로 변경하면 된다.

PowerShell을 관리자 권한으로 실행한 후 다음 명령어를 입력한다.

takeown /F "D:\Github" /R /D Y
icacls "D:\Github" /grant "$($env:USERNAME):(OI)(CI)F" /T

명령어 설명

명령어설명
takeown /F "D:\Github" /R /D Y해당 폴더와 하위 항목의 소유권을 현재 사용자로 변경
icacls ... /grant "$($env:USERNAME):(OI)(CI)F" /T현재 사용자에게 모든 권한(Full Control) 부여
  • /R, /T: 하위 폴더 및 파일에 재귀적으로 적용
  • /D Y: 확인 프롬프트에 자동으로 Yes 응답
  • (OI)(CI)F: 하위 폴더와 파일에 상속되는 전체 권한

결과

이후 SourceTree나 Git CLI에서 D:\Github 하위의 모든 저장소를 오류 없이 사용할 수 있다. 새로 클론하는 저장소도 현재 사용자 소유로 생성되므로 추가 설정이 필요 없다.

profile
Jinha Song

0개의 댓글