웹개발 및 최신 테크 소식을 전하는 블로그, 웹이즈프리

HOME > git

Git에서 untracked file이 계속 보이는 경우 제거하는 지우는 방법은?

Last Modified : 2022-05-17 / Created : 2017-04-27
12,619
View Count
git을 사용하다가 git status를 확인해보니 untracked 파일이 계속해서 나타났습니다. git reset을 사용해도 계속 남아 있는 경우 과연 어떻게 하면 원래 상태로 되돌릴 수 있는지 알아봅니다.



# Git untracked 파일 모두 되돌리기


프로젝트 경로에서 파을 계속 변경하면 untracked 파일이 생겨나게 됩니다. 이를 staged로 옮길 수도 있겠지만 그렇지 않을 경우 reset등을 사용해서 비울 수 있겠습니다. 즉 대부분의 untracked 파일 삭제는 아래의 명령어로 해결이 됩니다.
git reset --hard

하지만 위 명령어를 수행해도 일부 untracked 파일이 남아있는 경우가 있을 수 있죠. 이 경우 몇 가지 방법이 존재합니다. 그 중에서 대표적인 방법이 git clean입니다.

git clean

git clean이 어떤 일을 하는지 알아보면 아래와 같이 알려줍니다.
Remove untracked files from the working tree
untracked 파일을 현재 프로젝트 내의 트리 구조에서 삭제한다는 것을 알 수 있습니다. 그럼 어떻게 하면 되는지 자세히 알아보죠.


! git clean 명령어 사용하기


이제 git clean 명령어를 사용해서 untracked 파일을 모두 되돌릴 수 있습니다. git clean을 사용할 때 -f를 사용하면 untracked 상태의 파일을 모두 원래대로 되돌릴 수 있습니다.
git clean -f
git clean --force

참고로 d 옵션은 디렉토리를 의미합니다. 하위를 포함한 디렉토리까지 포함하기 위해서는 d를 추가합니다.
git clean -fd

이 방법이 가장 많이 사용되는 방법으로 git clean을 사용하는 방법에 대하여 알아봤습니다.


! git stash 명령어 사용하기


이번에는 git의 stash 명령어를 사용하는 방법입니다. git stash는 자신의 로컬에 임시로 저장할 때 사용하는 방법으로 나중에 사용하는 등의 목적으로 사용되죠. untracked 파일을 stash를 사용하여 옮기는 방법이 되겠습니다.
git stash save --keep-index --include-untracked

이제 untracked 파일이 사용할 필요가 없거나 제외할 경우 drop 명령어를 사용할 수 있습니다. 우리는 stash를 사용해 옮긴 파일들이 더 이상 필요 없으므로 삭제하면 되겠죠. 비우기 위해서 아래 명령어를 사용합니다.
git stash drop

이제 untracked files가 모두 제거된 것을 확인할 수 있습니다. 참고로 stash는 untracked를 파일을 제외하기 위한 목적으로 만들어진 것은 아닙니다. 하지만 이런 방법도 가능하다는 것을 알아두면 좋을 것 같습니다.


여기까지 untracked 파일을 제거, 삭제하는 방법 git clean과 git statsh를 알아봤습니다.

Previous

Git에서 체리픽을 사용하여 커밋(commit) 하는 방법은?

Previous

Git bare repository란?