반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Java
- CSS
- ArrayList
- html
- js
- input
- math
- java테스트
- HashMap
- 배열
- 테스트자동화
- Visual Studio Code
- Array
- IntelliJ
- Eclipse
- json
- 자바스크립트
- javascript
- 문자열
- 이클립스
- string
- junit
- 단위테스트
- 자바
- junit5
- vscode
- 자바문법
- 정규식
- 인텔리제이
- list
Archives
- Today
- Total
어제 오늘 내일
[Git] 지저분한 파일들 한 방에 정리! git clean으로 저장소 청소하기 본문
프로젝트 폴더를 열었는데, 내가 만들지 않은 설정 파일이나 빌드 중 생성된 임시 파일들이 가득 차 있나요?
하나하나 수동으로 지우기엔 너무 많고 귀찮을 때, Git의 청소(clean) 기능을 사용해 보세요.
1. git clean이란 무엇인가요?
git clean은 작업 디렉토리에서 Git이 추적하고 있지 않은 파일(Untracked Files)들을 삭제하는 명령어입니다.
- Tracked: 이미 Git에 등록되어 관리 중인 파일 (얘네는 안 건드려요!)
- Untracked: 새로 생성되었지만 아직
add하지 않은 파일 (얘네를 삭제해요!)
2. 실수 방지를 위한 안전 장치
git clean은 파일을 영구적으로 삭제하기 때문에 복구가 불가능합니다.
그래서 Git은 기본적으로 "실수로 지우지 마!"라며 명령어를 그냥 실행하지 못하게 막아두었습니다.
보통 아래와 같은 단계를 거쳐 안전하게 청소합니다.
① 삭제될 파일 미리보기 (Dry Run)
실제로 지우기 전에 무엇이 삭제될지 목록을 먼저 확인합니다.
가장 권장하는 습관입니다.
git clean -n
② 실제 삭제하기
확인 후 확실하다면 -f (force) 옵션을 붙여 삭제합니다.
git clean -f
3. 더 강력한 청소 옵션들
상황에 따라 더 깊숙한 곳까지 청소해야 할 때가 있습니다.
- 디렉토리까지 삭제 (-d): 파일뿐만 아니라 빈 폴더나 새로 생긴 폴더까지 지웁니다.
git clean -fd - 무시된 파일까지 삭제 (-x): `.gitignore`에 등록되어 Git이 아예 무시하던 파일(예: 컴파일 결과물, `node_modules` 등)까지 싹 지웁니다. 프로젝트를 초기 상태로 만들 때 유용합니다.
git clean -fdx
4. 실제 출력 결과 예시
터미널에서 git clean을 사용하면 다음과 같이 작동합니다.
# 1. 상태 확인
$ git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
temp_log.txt
test_data/
# 2. 미리보기 (n 옵션)
$ git clean -nd
Would remove temp_log.txt
Would remove test_data/
# 3. 진짜 청소 (fd 옵션)
$ git clean -fd
Removing temp_log.txt
Removing test_data/
⚠️ 주의사항: "복구 불가능!"
git clean으로 삭제된 파일은 Git이 관리한 적이 없는 파일들이기 때문에, 앞서 배운 git reset이나 git reflog로도 절대 살릴 수 없습니다.
📝 요약
git clean: Git이 추적하지 않는 지저분한 파일들을 한꺼번에 삭제한다.-n: 삭제될 목록을 미리 확인하는 필수 습관.-f: 실제 삭제를 실행하는 옵션.-x:.gitignore파일까지 무시하고 싹 다 청소하고 싶을 때 사용.
반응형
'IT > Git' 카테고리의 다른 글
| [Git] 실수로 올린 파일 내리기: git add 취소하기 (Unstage) (0) | 2026.02.08 |
|---|---|
| [Git] 브랜치 이름 변경하기 (로컬 & 원격 저장소) (0) | 2026.02.07 |
| [Git] 커밋 전 필수 루틴! git diff로 변경 내용 정밀 검사하 (0) | 2026.02.06 |
| [Git] "이 코드 도대체 누가 짰어?" git blame으로 코드의 역사 추적하기 (0) | 2026.02.06 |
| [Git] 내 코드에 버전 도장 쾅! git tag로 배포 버전 관리하기 (0) | 2026.02.05 |
Comments
