현재 작업 트리에서 추적되지 않은 로컬 파일을 어떻게 삭제합니까?
답변
git- clean-작업 트리에서 추적되지 않은 파일 제거
개요
git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…
기술
현재 디렉토리에서 시작 하여 버전 제어를받지 않는 파일을 재귀 적으로 제거하여 작업 트리를 정리합니다 .
일반적으로 Git에 알려지지 않은 파일 만 제거되지만
-x
옵션을 지정하면 무시 된 파일도 제거됩니다. 예를 들어 모든 빌드 제품을 제거하는 데 유용 할 수 있습니다.선택적
<path>...
인수가 제공되면 해당 경로 만 영향을받습니다.
1 단계는 다음 -n
옵션 을 사용하여 삭제할 내용을 표시하는 것입니다 .
# Print out the list of files which will be removed (dry run)
git clean -n
클린 단계- 주의 : 파일을 삭제합니다 :
# Delete the files from the repository
git clean -f
- 디렉토리를 제거하려면
git clean -f -d
또는git clean -fd
- 무시 된 파일을 제거하려면
git clean -f -X
또는git clean -fX
- 무시되고 무시되지 않은 파일을 제거하려면
git clean -f -x
또는git clean -fx
X
후자의 두 명령에 대한 대소 문자 차이에 유의 하십시오 .
경우 clean.requireForce
구성에서 “true”(기본값)로 설정 한 요구를 지정하지 않으려면 -f
실제로 일어날 것입니다 그렇지 않으면 아무것도.
git-clean
자세한 내용 은 문서를 다시 참조하십시오 .
옵션
-f
,--force
망할 놈의 구성 변수 clean.requireForce가 false로 설정되어 있지 않은 경우, 자식 깨끗한 주어진하지 않는 한 실행을 거부 할 것이다
-f
,-n
또는-i
.
-x
.gitignore (디렉토리 당) 및에서 읽은 표준 무시 규칙을 사용하지 말고 옵션
$GIT_DIR/info/exclude
과 함께 제공된 무시 규칙을 계속 사용하십시오-e
. 이를 통해 빌드 제품을 포함하여 추적되지 않은 모든 파일을 제거 할 수 있습니다. 이것은 git reset과 함께 사용되어 깨끗한 빌드를 테스트하기위한 깨끗한 작업 디렉토리를 만들 수 있습니다.
-X
Git에서 무시한 파일 만 제거하십시오. 처음부터 모든 것을 다시 작성하는 데 유용하지만 수동으로 만든 파일은 유지하십시오.
-n
,--dry-run
실제로 아무것도 제거하지 말고 수행 할 작업 만 표시하십시오.
-d
추적되지 않은 파일 외에 추적되지 않은 디렉토리를 제거하십시오. 추적되지 않은 디렉토리가 다른 Git 저장소에 의해 관리되는 경우 기본적으로 제거되지 않습니다.
-f
그러한 디렉토리를 정말로 제거 하려면 옵션을 두 번 사용하십시오 .
답변
사용 git clean -f -d
있는지 확인 디렉토리가 도 제거됩니다.
-
실제로 아무것도 제거하지 말고 수행 할 작업 만 표시하십시오.
git clean -n
또는
git clean --dry-run
-
추적되지 않은 파일 외에 추적되지 않은 디렉토리를 제거하십시오. 추적되지 않은 디렉토리가 다른 Git 저장소에 의해 관리되는 경우 기본적으로 제거되지 않습니다.
-f
그러한 디렉토리를 정말로 제거 하려면이 옵션을 두 번 사용하십시오 .git clean -fd
그런 다음 파일이 실제로 사라 졌는지 확인할 수 있습니다 git status
.
답변
아무도 전에 이것을 언급하지 않은 것에 놀랐습니다.
git clean -i
이는 대화식을 나타내며 영향을받는 파일을 포함 / 제외 할 수있는 가능성을 제공하여 삭제 될 대상에 대한 빠른 개요를 제공합니다. --dry-run
실제 청소 전에 강제 실행보다 훨씬 빠릅니다 .
-d
빈 폴더를 관리하려면 을 (를) 던져야 합니다. 결국, 그것은 좋은 별칭을 만듭니다 :
git iclean
즉, 대화식 명령을 추가로 손에 들고 있으면 숙련 된 사용자가 지칠 수 있습니다. 요즘 나는 이미 언급 한 것을 사용합니다.git clean -fd
답변
답변
추적되지 않은 디렉토리가 자체의 git 저장소 (예 : 하위 모듈) 인 경우 -f
두 번 사용해야합니다 .
git clean -d -f -f
답변
추적되지 않은 파일을 제거하는 간단한 방법
모든 비 추적 파일을 제거하려면 간단한 방법입니다 첫번째 그들 모두를 추가 하고 REPO 다시 아래로를
git add --all
git reset --hard HEAD
답변
내가 좋아하는 git stash push -u
당신이 그들 모두를 취소 할 수 있기 때문에 git stash pop
.
편집 : 또한 내가 (예 : 마리화나에 비 추적 파일을 표시하는 방법을 발견 git show stash@{0}^3
) https://stackoverflow.com/a/12681856/338986
EDIT2 : git stash save
은 더 이상 사용되지 않습니다 push
. @ script-wolf에게 감사드립니다.