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 적용된 파일만 삭제
명령어 예시
삭제 예정인 파일 목록 확인
디렉터리를 제외한 파일들만 삭제
디렉터리 포함해서 삭제
.gitignored 등록된 파일과 폴더까지 삭제
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" 상태를 표현하면 아래와 같다.
삭제 예정인 파일 목록 확인
.gitignored 등록된 파일과 폴더까지 삭제 예정인 파일 목록 확인
디렉터리를 제외한 파일들만 삭제
디렉터리 포함해서 삭제
'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 |
댓글