본문 바로가기
Linux & GIT

git clean 명령어 사용법

by 누워서 코딩 2022. 7. 19.

git clean 명령어

git 작업 트리(Tree)상에 포함되지 않은 파일 삭제하는 명령어

 

git을 사용해서 소스 관리를 하다 보면, 작업 트리상에 존재하는 모든 파일들은 크게 세 가지의 상태에 놓이게 됩니다. 먼저 git의 저장소에 이미 커밋이 된 파일들, 그리고 커밋이 될 예정인 (git add 명령 이후) Staging Area 상태의 파일들, 마지막으로 그 이 전 상태인 저장소나 Staging 상태는 아니지만 곧 포함될 수도 있는 추적되지 않은 상태인 Untracked 상태의 파일들입니다.

    

여기서는 마지막 상태인, 작업 트리(Tree)상에 포함되지 않는 파일들, 즉 git status로 추적해 보면 저장소에 포함되지 않는 파일인 Untracked 상태의 파일들이 존재하는데, 이런 Untracked 파일들을 한꺼번에 삭제하는 명령어가 git clean 명령어입니다.

 

물론 이런 Untracked 파일들 역시 추후에 수정하거나 커밋할 용도일 수도 있지만, 소스 관리 차원에서는 불필요하다고 판단할 경우 깔끔하게 삭제 처리해야 하는 경우도 있습니다.

git clean 시 주의사항

git clean 명령어 사용 시 주의할 점도 있습니다. git clean은 추적되지 않는 파일을 삭제해 버리는 명령어이기에, Staging Area 가 아니더라도 추후에 커밋할 목적으로 수정 변경된 파일들로 남겨진 경우도 해당됩니다. 이런 경우 말 그대로 추적이 불가한 파일들이기에 git clean 명령이 실행되어 삭제가 되면 되돌릴 수 있는 방법이 없는데요. 따라서 git clean 명령 전에는 정말 삭제해도 되는 파일인지를 반드시 신중하게 판단할 필요가 있습니다.

 

git clean 명령어 옵션

git clean [-d] [-f] [-i] [-n] [-q] [-e <패턴>] [-x | -X] [--] <경로>…

 

주요 옵션들 설명

git clean -f

확실히 삭제해도 무방한 파일들이란 확신이 든다면, 강제 삭제 옵션인 -f 옵션을 실행 가능합니다.

 

git clean -d

디렉토리까지 삭제하려면 -d 옵션을 사용합니다.

 

git clean -n 

삭제 대상 파일을 확인할 수 있습니다.

 

git clean -f [path] or [File]

첫 번째 옵션 뒤에 특정 경로나 파일을 넣으면 해당 경로나 파일들만 삭제 가능합니다.

 

git clean -x

.gitignore 파일에 포함된 (무시된) 파일들도 삭제 가능합니다.

 

마지막으로 이것저것 귀찮고 Git Tree상에 존재하는 추적되지 않은 디렉터리 파일들을 강제로 모두 삭제하고 싶다면 다음 명령을 사용 하시면 됩니다.

 

git clean -ffdx

 

'Linux & GIT' 카테고리의 다른 글

git revert 명령어  (0) 2022.07.20
git reset 명령어  (0) 2022.07.20
git diff 명령어 사용 방법 정리  (0) 2022.07.18
git commit message 잘못 입력시 복구 방법  (0) 2021.12.03
git 커밋 메시지 템플릿 작성, 설정  (0) 2021.11.26

댓글