오랜만에 Git 관련 글을 쓰네요.
금일 작업중에 처음 접하는 에러를 발견하였으나, 구글링을 해보았더니 해결책은 많이 있지만 원인에 대한 내용은 별로 없어서 시간내어 정리해볼까 합니다.
1) 원인
근본적 원인
현재 작업중이 Git 리포지터리(Repository) 내의 파일 또는 폴더가 현재 작업중인 사용자가 아닌 다른 사용자에게 소유권이 있거나 또는, 동시에 두 사용자가 소유권을 가지고 있을 때 발생합니다.
보안리스크 방지
이런 현상은 보안에 관련하여 큰 문제를 야기시킬 수 있습니다.
예를 들어 다른 사용자가 소유한 파일이나 폴더에 악의적인 코드가 포함되어 있을 수 있으며, Git작업을 통해 실행될 경우, 시스템 보안에 위험을 초래할 수 있습니다.
특히 기업환경에서 여러 사용자가 동일한 시스템을 사용하는 경우, 파일시스템의 권한설정이나 사용자 계정 관리 방식 때문에 이러한 문제가 발생할 수 있습니다.
최근 Git버젼에서는 이러한 보안 위험을 감지하고 경고하는 기능이 강화되었습니다.
이는 Git 사용자와 리포지토리의 안전을 보장하기 위한 조치입니다.
2) 해결책
첫번째 방법: 소유권 확인 및 변경
오류가 발생한 리포지토리의 파일이나 폴더의 소유권을 확인하고 필요한 경우 현재 사용자로 변경합니다.
Windows에서는 '속성(Properties)'를 통해 소유권을 확인하고 '보안(Security)' 탭에서 변경할 수 있습니다.
두번째 방법: Git설정 변경
Git에서는 safe.directory 설정을 통해 특정 디렉토리를 안전하게 처리하도록 설정할 수 있습니다.
이는 Git이 해당 디렉토리를 신뢰하고 소유권 검사를 우회하게 합니다.
아래와 같이 사용하시면 됩니다.
git config --global --add safe.directory [리포지터리 절대 경로]
이상 정리를 마칩니다.
감사합니다.
'Development > Git' 카테고리의 다른 글
Visual Studio환경에서 커밋취소 및 Git LFS 적용 (0) | 2022.09.07 |
---|