Git에서 파일 추적 중지
이 튜토리얼에서는 Git의 리포지토리에서 파일 및 폴더 추적을 중지하는 방법을 배웁니다.
개발 리포지토리에서 Git의 변경 사항에 대해 일부 파일을 더 이상 추적하지 않으려는 상황이 자주 발생합니다.
지금 불필요하고 프로젝트와 더 이상 관련이 없다고 생각되는 파일이 있다고 가정해 보겠습니다. 이러한 경우 Git의 리포지토리에서 파일을 추적에서 제거하려고 합니다.
이제 이를 예를 들어 설명하겠습니다.
git rm
을 사용하여 Git에서 파일 추적 중지
Git의 저장소에 더 이상 추적하고 싶지 않은 file1
이라는 파일이 있다고 가정합니다.
--cached
옵션과 함께 git rm
명령을 사용하여 Git의 추적에서 파일을 제거할 수 있습니다.
$ git rm --cached file1
rm 'file1'
다음 명령을 사용하여 Git 리포지토리의 추적에서 폴더를 제거할 수도 있습니다.
$ git rm -r --cached <folder-name>
이렇게 하면 지정된 대로 파일이나 폴더가 추적에서 제거됩니다(즉) 색인에서 제거됩니다. 그러나 파일 시스템에서 파일을 삭제하지는 않습니다.
git pull
을 수행하여 원격 저장소에서 새 변경 사항을 가져오면 해당 파일 또는 폴더가 해당 파일 시스템에서 제거됩니다. 또한 원격 저장소에서 새로 복제할 때 파일이나 폴더가 제거됩니다.또한 원격 저장소에서 이 변경 사항을 업데이트하려면 파일 제거를 커밋해야 합니다.
$ git commit -m "Removed file1"
$ git push
git update-index
를 사용하여 Git에서 파일 추적 중지
때로는 파일을 저장소에 보관하고 싶지만 더 이상 변경 사항을 추적하고 싶지 않을 수 있습니다. 이를 위해 --skip-worktree
옵션과 함께 git update-index
명령을 사용할 수 있습니다.
$ git update-index --skip-worktree file1
git update-index
명령에 --skip-worktree
옵션을 사용하면 Git이 파일 버전이 최신인 것처럼 가장하고 대신 인덱스 버전에서 읽습니다. 이것은 구성 파일에 특히 유용합니다.
저장소에 기본값 또는 프로덕션 값이 있는 일부 구성 파일이 있을 수 있으며 필요에 따라 일부를 변경할 수 있지만 이러한 변경 사항을 커밋하고 싶지는 않습니다. git update-index
명령에 대한 --skip-worktree
옵션은 이러한 목적에 매우 편리합니다.
따라서 Git 리포지토리에서 파일 및 폴더 추적 중지에 대해 자세히 설명했습니다.