내가 실행할 때 git reset --hard HEAD
, 내가 이해 한대로 원래 버전의 원래 버전으로 재설정해야합니다. 불행히도, git status
추적되지 않은 파일의 큰 목록을 보여 주므로 파일을 그대로 둡니다 .
git에게 "최종 풀에 있던 것을 정확히 다시 가져 오십시오.
내가 실행할 때 git reset --hard HEAD
, 내가 이해 한대로 원래 버전의 원래 버전으로 재설정해야합니다. 불행히도, git status
추적되지 않은 파일의 큰 목록을 보여 주므로 파일을 그대로 둡니다 .
git에게 "최종 풀에 있던 것을 정확히 다시 가져 오십시오.
답변:
git clean -f -d
작업 복사본에서 추적되지 않은 파일과 디렉토리를 제거 하려면 사용해야 합니다.
모든 git 서브 모듈을 포함하여 마스터로 전체 저장소를 재설정 해야하는 경우 다음 스크립트를 실행하십시오.
git reset --hard HEAD
git clean -f -d
git checkout master
git fetch origin master
git reset --hard origin/master
git pull
git submodule update
git submodule update --init --recursive
git submodule foreach git reset --hard HEAD
git submodule foreach git clean -f -d
git submodule foreach git submodule update --init --recursive
git submodule foreach git fetch
git submodule foreach git pull
git status
-x
.gitignored 파일을 제거하고 원래 상태로 돌아가려면.
-n
테스트에 추가 가 먼저 제거됩니다. 하나의 주장으로 그것들을 모두 합치십시오 :-dfn
git clean -qfdx
여기 있습니다. 모든 것을 제거하고 조용히하십시오.
-d -f
두 번 decalred 할 수 있습니다 -dff
에 대한 -d -f -f
이 보호의 비 추적 디렉토리를 포함한 모든 비 추적 디렉토리를 삭제합니다.
git reset --hard && git clean -dfx
또는 zsh는 'gpristine'별명을 제공합니다.
alias gpristine='git reset --hard && git clean -dfx'
정말 편리합니다.
분기 저장소에서 작업하는 경우 올바른 저장소 / 분기에서 가져 와서 다시 설정하십시오.
git fetch upstream && git reset --hard upstream/master && git clean -df
-x
repo를 복제 한 경우 와 같이 무시 된 파일도 삭제하기 때문에 위험 합니다. 그것이 당신이 원하는 것이라면 완벽합니다. 추적되지 않은 파일 을 삭제하려는 경우 -x
옵션을 제거하면 효과적입니다.
gpristine
사용자 대화식 접근 방식 :
git clean -i -fd
Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/amazon/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y
-i 대화식의 경우
-f 강제의 경우
-d 디렉토리의 경우
-x 무시 된 파일의 경우 (필요한 경우 추가)
참고 : 수행 할 작업을 확인하려면 -n 또는 --dry-run 을 추가하십시오 .
당신이 찾고있는 명령은 git clean
git-clean
작업 트리에서 추적되지 않은 파일을 제거하는 데 사용합니다. 다음은 git clean
명령 과 함께 사용할 수있는 몇 가지 옵션 (간략한 것)입니다 .
-d
경로가 지정되지 않은 경우 사용하십시오. 따라서 git은 추적되지 않은 디렉토리로 재귀하여 제거합니다.
-f/--force
중첩 된 추적되지 않은 파일을 제거합니다.
-i/--interactive
수행 할 작업을 표시하고 파일을 대화식으로 정리하십시오.
-n/--dry-run
아무것도 제거하지 않고 어떻게되는지 보여줍니다.
-x
파일 무시
예 : git clean -f -d
-> 현재 디렉토리의 모든 추적되지 않은 파일을 모든 서브 디렉토리에서 제거하십시오.
어느 시점에서 소프트 리셋을 수행했을 수도 있습니다. 이렇게하면이 문제를 해결할 수 있습니다
git add .
git reset --hard HEAD~100
git pull
git reset --hard
색인을 재설정하고 추적 된 파일을 HEAD 상태로 되돌립니다. 추적되지 않은 파일 만 남겨 둡니다.