wrkbrs

git pull 시 에러 <git clean, git stash> The following untracked working tree files would be overwritten by merge: 본문

Git

git pull 시 에러 <git clean, git stash> The following untracked working tree files would be overwritten by merge:

zcarc 2019. 2. 3. 13:51

WARNING: it will delete untracked files, so it's not a great answer to the question being posed.

I hit this message as well. In my case, I didn't want to keep the files, so this worked for me:

git 2.11 and newer

git clean  -d  -fx .

older git

git clean  -d  -fx ""

http://www.kernel.org/pub/software/scm/git/docs/git-clean.html

  • -x means ignored files are also removed as well as files unknown to git.

  • -d means remove untracked directories in addition to untracked files.

  • -f is required to force it to run.


https://stackoverflow.com/questions/4858047/gitignore-and-the-following-untracked-working-tree-files-would-be-overwritten-b










작업 중의 효율을 고려한 stash 명령어와 함께 사용할 수 있는 것이 clean명령어이다. 깃에서 추적되지 않는 파일만 지우는 명령어가 바로 git clean이라 할 수 있다.

1. git clean

git clean 과 git stash --all

추적중이지 않은 파일만 지우는 것이 기본 동작인 명령어다. 워킹 디렉토리의 파일들을 모두 지우고 싶을 때 사용하거나 merge 또는 외부 도구가 만들어낸 파일을 지울 때, 이전 빌드 작업으로 생성된 파일을 지우는데 사용된다.

  • 워킹 디렉토리 내에 추적하고있지 않은 모든 파일이 지워지기 때문에 실제로 사용할 때는 git stash --all으로 모든 파일을 일단 stash한 후 디렉토리에서 지운다.


2. clean의 옵션 사용하기

git clean -f -d

: 추적중이지 않은 모든 정보를 디렉토리에서 지워버릴 때. 하위 디렉토리까지 모두 지운다. 
-f는 강제의 의미를 띄고 있다.


git clean -d -n

: 명령을 실행했을 때 어떤 일이 일어날 지 미리 보고싶다면 -n을 사용한다. 마치 git에게 “가상으로 지워보고 어떤 파일이 지워질지 알려달라”고 말하는 것과 같다.


git clean -x

: 무시된 파일(.DS_Store나 .gitignore에 등록한 확장자 파일들)까지 모두 지울 때


clean -d -i

: clean 명령을 대화형으로 실행해 지우고 싶은 것만 지울 수도 있다.


https://juliahwang.kr/gitstudy/2017/06/15/01_git_clean.html