HOWTO · Git
Git RM --Cached와 Git 재설정 파일의 차이점
이 문서에서는 git rm --cached 및 git reset file 명령의 차이점에 대해 설명합니다.
이 페이지의 내용
이 기사에서는 git rm --cached와 git reset<file> 명령의 차이점에 대해 설명합니다. 둘 사이의 차이점을 파악하기 위해 각 명령의 기능에 대해 논의할 것입니다.
git rm --cached와 git reset<파일>의 차이점
더 쉬운 컨텍스트를 위해 각 명령이 수행할 수 있는 작업을 탐색한 다음 두 명령이 표시하는 서로 다른 출력을 분석합니다. 바로 뛰어들자.
git rm --cached 명령
때때로 Git은 git status 명령을 실행한 후 아래 제안을 제공할 수 있습니다.
$ git status
On branch master
No commits yet
Changes to be committed:
(use "git rm --cached <file>..." to unstage)
new file: .env
rm 옵션을 사용하여 .env 파일의 스테이지를 해제해 보겠습니다. 우리는 다음을 실행할 것입니다:
$ git rm --cached .env
git status 명령을 실행하여 작업 디렉토리의 상태를 확인하겠습니다.
$ git status
출력:
위의 출력에서 .env 파일이 삭제되었지만 추적되지 않은 파일 아래에 남아 있음을 알 수 있습니다. git reset<file> 명령이 무엇을 하는지 봅시다.
git reset <파일> 명령
아래와 같이 git reset 명령을 실행합니다.
$ git reset HEAD .env
이제 git status 명령을 실행하여 작업 트리를 확인할 수 있습니다.
$ git status
출력:
위의 출력에서 git reset <file> 명령이 파일에 대한 수정 사항을 제거했음을 알 수 있습니다.
git rm --cached 명령은 제거할 파일을 준비하지만 파일을 추적하지 않은 상태로 유지합니다. 반면 git reset <file> 명령은 파일을 언스테이징만 합니다.
git rm --cached 옵션은 작업 트리를 수정하지 않고 추적되지 않은 파일을 언스테이징하려는 경우 이상적입니다. 해당 명령 git reset <file>은 작업 트리가 아닌 인덱스를 재설정합니다.
간단히 말해서 git rm --cached 명령은 인덱스에서 경로를 제거하고 추적되지 않은 상태로 두는 반면 git rest<file> 명령은 인덱스만 재설정합니다. 추적되지 않은 파일에는 git rm --cached 명령을 사용하십시오.