Git에서 로컬 변경 사항을 삭제하고 추적되지 않는 파일을 제거하는 방법
세 가지 다른 명령은 세 가지 다른 종류의 변경 사항을 지웁니다. 편집 내용, 스테이징된 변경 사항, 새 파일, 하나의 파일 또는 모든 파일을 버리는 방법과 중요한 내용이 전혀 포함되지 않도록 먼저 미리 보는 방법은 다음과 같습니다.
작성자: Kodmora
GitTree 뒤에 있는 소프트웨어 하우스
- 실행 취소 및 복구
- 스테이징
이 페이지에서
추적된 파일의 변경 사항을 삭제하려면 `git restore .`을 실행하세요. 추적되지 않은 파일과 폴더를 제거하려면 `git clean -fd`을 실행하세요. 마지막 커밋으로 완전히 돌아가려면 `git reset --hard`를 실행한 다음 `git clean -fd`을 실행하세요. Git은 나중에 이러한 변경 사항을 되돌릴 수 없으므로 먼저 git status 및 git clean -nd를 사용하여 미리 봅니다.
어떤 명령이 무엇을 버리는가?
| 당신이 원하는 것은 사라지고 | 명령 |
|---|---|
| 하나의 추적 파일 편집 | git restore path/to/file |
| 모든 추적 파일 편집 | git restore . |
| 스테이징된 변경, 편집 내용 유지 | git restore --staged . |
| 스테이징된 변경 및 편집 | git restore --staged --worktree . |
| Git이 추적하지 않는 새 파일 | git clean -f |
| 새 파일 및 폴더 | git clean -fd |
| 마지막 커밋 이후의 모든 것 | git reset --hard 다음 git clean -fd |
한 파일의 변경 사항을 어떻게 취소합니까?
git restore src/search.ts
# only some of the changes, hunk by hunk
git restore -p src/search.ts
# the same file as it was on another branch
git restore --source=main src/search.ts이전 가이드는 git checkout -- src/search.ts을(를) 사용합니다. 여전히 작동하지만 git restore(Git 2.23 이상)은 이 한 가지 작업만 수행하므로 오용하기가 더 어렵습니다.
모든 로컬 변경 사항을 어떻게 삭제합니까?
# tracked files, staged or not
git reset --hard
# then untracked files and folders
git clean -fd
# confirm
git status
# nothing to commit, working tree clean커밋이 없는 git reset --hard는 브랜치를 원래 위치에 유지하고 파일만 지웁니다. Git 재설정 설명은 커밋 이름을 지정할 때 수행되는 작업을 다룹니다.
파일을 잃지 않고 언스테이징하려면 어떻게 해야 합니까?
git restore --staged src/search.ts파일은 준비 영역을 벗어나고 편집 내용은 작업 폴더에 유지됩니다. 아무것도 삭제되지 않습니다.
git clean으로 추적되지 않은 파일을 어떻게 제거하나요?
항상 미리보기를 먼저 하세요. -n은(는) 테스트 실행으로, 앞으로 진행될 항목만 나열합니다.
# preview files and folders
git clean -nd
# delete them
git clean -fd
# ask about each one
git clean -id| 깃발 | 의미 |
|---|---|
-n | 테스트 실행: 나열만 하고 아무것도 삭제하지 않음 |
-f | 강제: 무엇이든 삭제하는 데 필요합니다. |
-d | 추적되지 않는 폴더 포함 |
-i | 대화형: 진행 내용 선택 |
-x | 또한 .env 및 node_modules과 같은 무시된 파일도 삭제합니다. |
-X | 무시된 파일만 삭제 |
삭제된 변경 사항을 복구할 수 있나요?
- 확정된 작업: 예,
git reflog을(를) 통해. - 보관된 작업: 예. 떨어진 스태시 복구에 표시된 것처럼 떨어진 스태시도 종종 발견될 수 있습니다.
- 스테이징되었지만 커밋되지 않음: 가끔
git fsck --lost-found을(를) 사용합니다. - 단계적으로 진행되지 않음: 아니요. 편집자의 로컬 기록에 아직 남아 있을 수 있습니다.
파일이 삭제되어 커밋된 경우 삭제된 파일을 복원하는 방법에 단계가 있습니다.
GitTree의 변경사항을 삭제하는 방법
버릴 것을 선택하세요
변경 사항 패널에서 파일에 마우스를 놓고 파일 변경 사항 취소...를 선택하거나 변경 사항 취소...를 위해 여러 파일을 마우스 오른쪽 버튼으로 클릭합니다. diff에서는 Discard Hunk 또는 Discard Lines를 사용하세요.
모든 것을 정리하거나 지우십시오.
명령 팔레트에서 Clean Untracked Files... 또는 Discard All Changes...를 실행합니다.
확인서를 읽어보세요
대화 상자에는 진행되는 작업의 이름이 표시되며 취소가 기본값입니다. GitTree는 복구 스냅샷을 먼저 저장하므로 실행 취소를 통해 다시 가져올 수 있습니다.

모든 옵션에 대해서는 변경 사항을 취소하고 추적되지 않는 파일을 정리하고, 연습하려면 무시 및 정리를 참조하세요.
자주 묻는 질문
git 복원과 git checkout의 차이점은 무엇입니까?
git checkout 스위치는 모두 파일을 분기하고 복원합니다. Git 2.23은 해당 작업을 더 명확하게 git switch 및 git restore로 분할했습니다. 이전 형식은 여전히 작동합니다.
git Reset --hard는 추적되지 않은 파일을 제거합니까?
아니요. 추적된 파일만 재설정합니다. 새 파일은 git clean -fd을(를) 실행할 때까지 유지됩니다.
git clean이 "청소 거부"라고 말하는 이유는 무엇입니까?
Git에서는 오타로 인해 파일이 삭제되지 않도록 기본적으로 -f(clean.requireForce)이 필요합니다. 테스트 실행이 올바른 것으로 보이면 -f를 추가하세요.
git clean은 무시된 파일을 삭제합니까?
-x 또는 -X을 추가하지 않는 한 그렇지 않습니다. 일반 git clean -fd는 .gitignore의 모든 것을 그대로 둡니다.
변경 사항을 유지하면서 깨끗한 폴더를 얻으려면 어떻게 해야 합니까?
git stash -u을(를) 실행하세요. 추적된 변경 사항과 추적되지 않은 변경 사항을 저장하고 폴더를 지웁니다. 숨김 가이드에 설명된 대로 나중에 git stash pop을(를) 사용하여 다시 가져오세요.
출처
다른 제품에 대한 주장은 2026년 11월 7일의 공식 페이지에서 확인되었습니다. 가격과 기능은 변경됩니다. 공급업체 페이지가 진실의 원천입니다.
