git rm - 파일 삭제하기
git rm (파일명)
해당 파일을 Working Directory와 Git Directory(= Repository)에서 모두 삭제
Git을 통해 관리 중이던 파일을 삭제하고자 하는 경우 git rm 명령을 이용해서 Tracked 상태의 파일을 제거하여 Untracked 상태로 만들고 해당 파일을 제거했다는 내용 자체를 commit 해야 한다.
아래와 같이 Working Directory와 Git Repository 상에 존재하는 "hello.c" 파일을 git rm 명령을 통해서 삭제해보도록 하겠다.
다음 상태에서 git status 명령을 입력해보면 hello.c 파일이 삭제되었다는 deleted 상태가 Staging Area에 등록된 것을 확인할 수 있다. 즉, git rm 명령은 Working Directory에 존재하는 해당 파일을 삭제 후 해당파일이 삭제됬다는 내용을 Staging Area에 등록하는 과정까지 함께 수행하게 된다.
하지만 이 순간에도 Working Directory 내의 hello.c 파일은 삭제되었지만 여전히 Git Repository에는 hello.c 파일에 대한 내용이 존재한다. 위에서 볼 수 있듯이 이 때 hello.c 파일은 deleted 상태인 동시에 staged 상태이다. 그래서 이를 commit 해주어야 Git Repository에서도 hello.c 파일을 삭제한 내용이 반영된다.
아래와 같이 삭제한 내용에 대해서 commit을 수행해주면 Git이 해당 파일을 더 이상 추적하지 않게되며 Working Directory에서도 해당 파일을 완전히 삭제하게 된다.
git rm --cached
해당파일을 git repository에서만 삭제 (Working directory에서는 해당파일을 유지)
하지만 이전과 동일한 상황에서 git rm 명령과 cached 옵션을 함께 같이 사용하면 Git Repository에서는 hello.c 파일이 삭제되지만 Working Directory에서는 삭제되지 않고 유지되는 것을 확인할 수 있다. 즉, Working Directory에서의 내용은 그대로 유지하고 Git Repository에 존재하는 내용만 삭제하고 싶은 경우 cached 옵션을 사용하면 이를 쉽게 처리할 수 있다.
'Tools > Git, Github' 카테고리의 다른 글
git checkup - 수정한 내용 취소하기 (0) | 2021.01.14 |
---|---|
git mv - 파일이름 변경하기 (0) | 2021.01.13 |
git commit - 변경사항 commit 하기 (0) | 2021.01.11 |
git diff - 변경 내용 살펴보기 (0) | 2021.01.10 |
git log - commit 기록 조회하기 (0) | 2021.01.09 |
댓글
이 글 공유하기
다른 글
-
git checkup - 수정한 내용 취소하기
git checkup - 수정한 내용 취소하기
2021.01.14 -
git mv - 파일이름 변경하기
git mv - 파일이름 변경하기
2021.01.13 -
git commit - 변경사항 commit 하기
git commit - 변경사항 commit 하기
2021.01.11 -
git diff - 변경 내용 살펴보기
git diff - 변경 내용 살펴보기
2021.01.10