본문 바로가기
Git

[Git 깃] git clean

by 까망 하르방 2021. 3. 13.
반응형

git clean

추적중이지 않은(untracked) 파일을 삭제하는 명령어이다.

※ requireForce 설정이 true가 아니면 clean 명령은 항상 -f, -i, -n 옵션 중 하나가 명시되어야 실행된다.

※ "-f" 옵션이 "--force"로 기본적인 옵션로 주는 편이다.

※ 현재 디렉터리 기준으로 하위 디렉터리까지 재귀탐색하기 때문에 recursive 옵션은 따로 없다.

 

옵션(Options) 정리

「 -f     삭제 기본 옵션 (설정에 따라 생략 가능, --force)

 

「 -i      대화 모드로 삭제 (--interactive)

 

「 -n     지워질 파일 목록 미리보기 (--dry-run)

 

「 -d     폴더까지(포함) 삭제합니다.

 

「 -x     .gitignore 적용된 파일 삭제

 

「 -X    .gitignore 적용된 파일 삭제

 

 

명령어 예시

삭제 예정인 파일 목록 확인

git clean -n

 

디렉터리를 제외한 파일들만 삭제

git clean -f

 

디렉터리 포함해서 삭제

git clean -f -d

 

.gitignored 등록된 파일과 폴더까지 삭제

git clean -f -d -x

 

Background

작업하다보면 임시 파일을 생성하는 경우가 있다.

물론 .gitignore에 파일 목록으로 지정해 add 대상에서 제외시킬 수 있지만

깔끔한 Local 환경을 위해서는 작업 후에는 지워주는게 좋다. 

 

가령, "Modified 파일"을 한번에 취소하는 경우에는 "git checkout --" 명령어로 가능하지만,

"Untracked 파일"은 git이 관리하지 않기 때문에 일일이 지우는 것은 쉽지 않다.

이때 유용한 명령어가 git clean 이다.

* 명령어를 실행한 후에는 되돌리 수 없으므로 실행전 주의해야 한다.

   ▶ "-n" 옵션("--dry-run")을 통해 미리 지워지는 파일 목록을 확인하는 습관을 들이는 것이 좋다.

   ▶ 경우에 따라서는 git stash가 안전하기에 유용할 수 있다.

 

시뮬레이션

① 새로운 Folder → "newFolder"

② 새로운 파일 → "newFile"

③ 새롭게 파일을 생성하고 add 처리하여 → "Tracked"

④ 기존 파일 (원격 Branch에 Merge 되어 있는 파일) → "test.cpp"

 

git status로 상태를 확인하면 아래와 같다.

새로 만든 Folder는 git 에서 인지조차 못하고 있다.

 

다른 그림으로 "Tracked"와 "Untracked" 상태를 표현하면 아래와 같다.

 

삭제 예정인 파일 목록 확인

git clean -n

 

.gitignored 등록된 파일과 폴더까지 삭제 예정인 파일 목록 확인

git clean -f -d -x -n

 

디렉터리를 제외한 파일들만 삭제

git clean -f

 

디렉터리 포함해서 삭제

git clean -f -d

 

 

 

[까망] Git 목록

본 블로그에 작성된 Git 관련 내용 URL을 정리한 곳입니다. 목록 [Git] "git add -p" 를 활용하는 이유 [Git] .gitignore 설정 [Git] learngitbranching 답안 및 풀이 - 1 [Git] learngitbranching 답안 및 풀이 -..

zoosso.tistory.com

반응형

'Git' 카테고리의 다른 글

💻 [Git 깃] 특정 Commit 수정 하기  (0) 2021.03.13
[Git 깃] git diff  (0) 2021.03.13
[Git 깃] git add  (0) 2021.03.13
[Git 깃] git status  (0) 2021.03.13
[Git 깃] git stash  (0) 2021.03.13

댓글