반응형

Git에서 파일을 제거하려면 git rm 명령으로 Tracked 상태의 파일을 삭제한 후에 커밋해야 한다. Git 명령어를 사용하지 않고 단순히 워킹 디렉토리에서만 삭제할 경우, 이러한 삭제가 Unstaged되어 커밋이 되지 않는다.

 

1. 로컬 디렉토리 내 실제 파일 & Git 저장소 내 파일 모두 삭제

$ git rm {삭제하고하는 파일명}
$ git commit -m {커밋명}

 위 명령을 통해 워킹 디렉토리 내 실제 파일과 Tracked 상태의 파일을 모두 삭제할 수 있다.

git 명령어를 통해 삭제한 파일은 Staged 상태가 되며 커밋하면 파일은 삭제되고 Git은 이 파일을 더 이상 추적하지 않는다.

 

이미 파일을 수정했거나 Staging Area에 추가했다면 -f 옵션을 추가하여 강제로 삭제해야 한다.

이 점은 실수로 데이터를 삭제하지 못하도록 하는 안전장치로 커밋하지 않고 수정한 데이터는 Git으로 복구할 수 없기 때문이다.

2. 로컬 디렉토리 내 실제 파일 제외 Git 저장소 내 파일만 삭제

$ git rm --cached {삭제하고자 하는 파일명}
$ git commit -m "{커밋명}"

위 명령어를 통해 Staging Area에서만 제거하고 워킹 디렉토리에 있는 파일은 지우지 않고 남겨둘 수 있다. 즉 하드디스크에 있는 파일은 그대로 두고 Git만 추적하지 않게 한다.

 

이것은 .gitignore 파일을 수정하거나, 대용량 로그 파일이나 컴파일된 .a 파일 같은 것을 실수로 추가하였을 때 쓴다.

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기