HOWTO · Git

Git RM --Cached와 Git 재설정 파일의 차이점

이 문서에서는 git rm --cached 및 git reset file 명령의 차이점에 대해 설명합니다.

이 페이지의 내용

이 기사에서는 git rm --cachedgit reset<file> 명령의 차이점에 대해 설명합니다. 둘 사이의 차이점을 파악하기 위해 각 명령의 기능에 대해 논의할 것입니다.

git rm --cachedgit 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

출력:

git rm –cached 이미지

위의 출력에서 .env 파일이 삭제되었지만 추적되지 않은 파일 아래에 남아 있음을 알 수 있습니다. git reset<file> 명령이 무엇을 하는지 봅시다.

git reset <파일> 명령

아래와 같이 git reset 명령을 실행합니다.

$ git reset HEAD .env

이제 git status 명령을 실행하여 작업 트리를 확인할 수 있습니다.

$ git status

출력:

git reset 이미지

위의 출력에서 git reset <file> 명령이 파일에 대한 수정 사항을 제거했음을 알 수 있습니다.

git rm --cached 명령은 제거할 파일을 준비하지만 파일을 추적하지 않은 상태로 유지합니다. 반면 git reset <file> 명령은 파일을 언스테이징만 합니다.

git rm --cached 옵션은 작업 트리를 수정하지 않고 추적되지 않은 파일을 언스테이징하려는 경우 이상적입니다. 해당 명령 git reset <file>은 작업 트리가 아닌 인덱스를 재설정합니다.

간단히 말해서 git rm --cached 명령은 인덱스에서 경로를 제거하고 추적되지 않은 상태로 두는 반면 git rest<file> 명령은 인덱스만 재설정합니다. 추적되지 않은 파일에는 git rm --cached 명령을 사용하십시오.