Git 초기화 제거
이 튜토리얼에서는 Git에서 git init
명령의 효과를 실행 취소하는 방법을 배웁니다.
git init
명령은 비어 있는 새 Git 리포지토리를 만듭니다.
아직 버전이 지정되지 않은 기존 프로젝트 디렉토리와 함께 사용하는 경우 git init
명령은 현재 디렉토리를 Git 리포지토리로 변환합니다.
때때로 Git 버전 관리 시스템에서 프로젝트 디렉토리를 제거하고 싶을 수 있습니다.
이제 이를 예를 들어 설명하겠습니다.
Git의 디렉토리에 대한 git init
실행 취소
Git에서 저장소를 설정할 때 git init
명령을 사용합니다.
git init
명령은 프로젝트 디렉토리에 .git
(숨겨진 디렉토리)라는 디렉토리를 생성합니다. 이 디렉토리는 Git이 사용하는 모든 객체와 참조를 저장하는 데 사용됩니다. .git
폴더에 생성 및 저장된 이러한 객체 및 참조는 Git에서 프로젝트 디렉토리의 히스토리에 사용됩니다.
.git
디렉토리의 존재는 일반 디렉토리와 Git 저장소를 구분하는 디렉토리입니다.
Git 저장소의 .git
폴더의 일반적인 내용은 다음과 같습니다.
$ ls .git
branches config FETCH_HEAD HEAD index logs ORIG_HEAD
COMMIT_EDITMSG description gitk.cache hooks info objects refs
앞서 언급했듯이 git init
명령은 .git
디렉토리와 그 하위 디렉토리를 생성합니다. 이러한 하위 디렉토리는 리포지토리의 메타데이터입니다.
HEAD
파일은 현재 체크아웃된 커밋을 가리키는 git init
명령에 의해 생성됩니다.
따라서 git init
명령의 효과를 취소한다는 것은 Git의 버전 관리 시스템에서 프로젝트 디렉토리를 제거하는 것을 의미합니다. 기본적으로 프로젝트 디렉토리는 더 이상 Git 리포지토리로 남아 있지 않습니다.
이를 위해서는 프로젝트 디렉토리에서 .git
폴더를 삭제해야 합니다.
$ rm -rf .git
.git
폴더를 삭제한 후 프로젝트 폴더는 Git 버전 관리 시스템에서 더 이상 추적되지 않습니다.
지금까지 변경한 사항은 그대로 유지되며 영향을 받지 않습니다.
물론 프로젝트 디렉토리가 더 이상 Git 리포지토리가 아니기 때문에 이제 원격 리포지토리에 푸시된 새 변경 사항을 가져올 수 없습니다.