etc./StackOverFlow

현재 Git 작업 트리에서 로컬(추적되지 않은) 파일을 제거하는 방법

청렴결백한 만능 재주꾼 2021. 9. 25. 02:02
반응형

질문자 :readonly


현재 작업 트리에서 추적되지 않은 로컬 파일을 어떻게 삭제합니까?



답변자 : Community Wiki


git-clean - 작업 트리에서 추적되지 않은 파일 제거

개요

 git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

설명

현재 디렉토리에서 시작 하여 버전 제어 하에 있지 않은 파일을 재귀적으로 제거하여 작업 트리를 정리합니다.

일반적으로 Git에 알려지지 않은 파일만 제거하지만 -x 옵션을 지정하면 무시된 파일도 제거된다. 예를 들어 모든 빌드 제품을 제거하는 데 유용할 수 있습니다.

선택적 <path>... 인수가 제공되면 해당 경로만 영향을 받습니다.


-n 옵션을 사용하여 삭제할 항목을 표시하는 것입니다.

 # Print out the list of files and directories which will be removed (dry run) git clean -n -d

클린 단계 - 주의: 이렇게 하면 파일이 삭제됩니다 .

 # 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

Git 구성 변수 clean.requireForce가 false로 설정되지 않은 경우 git clean은 -f , -n 또는 -i 지정되지 않는 한 실행을 거부합니다.

-x

$GIT_DIR/info/exclude 에서 읽는 표준 무시 규칙을 사용하지 말고 -e 옵션과 함께 제공된 무시 규칙을 계속 사용하십시오. 이렇게 하면 빌드 제품을 포함하여 추적되지 않은 모든 파일을 제거할 수 있습니다. 이것은 깨끗한 빌드를 테스트하기 위해 깨끗한 작업 디렉토리를 만드는 데 사용할 수 있습니다(git reset과 함께).

-X

Git에서 무시하는 파일만 제거합니다. 이것은 모든 것을 처음부터 다시 빌드하는 데 유용할 수 있지만 수동으로 만든 파일은 유지합니다.

-n , -- --dry-run

실제로 아무것도 제거하지 말고 수행할 작업만 표시하십시오.

-d

추적되지 않은 파일과 함께 추적되지 않은 디렉토리를 제거합니다. 추적되지 않은 디렉토리가 다른 Git 리포지토리에서 관리되는 경우 기본적으로 제거되지 않습니다. 그러한 디렉토리를 정말로 제거 -f 옵션을 두 번 사용하십시오.



답변자 : robert.berger


git clean -f -d 를 사용하여 디렉터리 도 제거되었는지 확인합니다.

  1. 실제로 아무것도 제거하지 말고 수행할 작업만 표시하십시오.

     git clean -n

    또는

     git clean --dry-run
  2. 추적되지 않은 파일과 함께 추적되지 않은 디렉토리를 제거합니다. 추적되지 않은 디렉토리가 다른 Git 리포지토리에서 관리되는 경우 기본적으로 제거되지 않습니다. 그러한 디렉토리를 정말로 제거 -f 옵션을 두 번 사용하십시오.

     git clean -fd

git status 하여 파일이 실제로 사라졌는지 확인할 수 있습니다.



답변자 : SystematicFrank


아무도 전에 이것을 언급하지 않았다는 사실에 놀랐습니다.

 git clean -i

이는 대화형을 의미하며 영향을 받는 파일을 포함/제외할 수 있는 가능성을 제공하여 삭제될 항목에 대한 빠른 개요를 얻을 수 있습니다. 전반적으로 실제 청소 전에 --dry-run 실행하는 것보다 여전히 빠릅니다.

빈 폴더도 처리하려면 -d 결국 멋진 별칭을 만듭니다.

 git iclean

즉, 대화형 명령을 추가로 손에 쥐는 것은 숙련된 사용자에게 피곤할 수 있습니다. 요즘에는 이미 언급한 git clean -fd



답변자 : Fire Lancer


git-clean - 작업 트리에서 추적되지 않은 파일 제거



답변자 : Thanga


추적되지 않은 파일을 제거하는 간단한 방법

추적되지 않은 모든 파일을 제거하려면 먼저 모든 파일을 추가 하고 아래와 같이 리포지토리를 재설정하는 것이 간단한 방법입니다.

 git add --all git reset --hard HEAD



답변자 : Michał Szajbe


untracked 디렉토리가 자체 git 저장소(예: 하위 모듈)인 경우 -f 두 번 사용해야 합니다.

git clean -d -f -f



답변자 : hiroshi


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 감사합니다.



답변자 : Oscar Fraxedas


이것은 내가 항상 사용하는 것입니다.

 git clean -fdx

매우 큰 프로젝트의 경우 두 번 실행할 수 있습니다.



답변자 : Espo


git-clean 이 당신이 찾고 있는 것입니다. 작업 트리에서 추적되지 않은 파일을 제거하는 데 사용됩니다.



답변자 : Vijay C


특정 하위 디렉토리에서 추적되지 않은 파일을 제거해야 하는 경우,

 git clean -f {dir_path}

그리고 추적되지 않은 디렉토리/파일과 무시된 파일을 삭제하는 결합된 방법.

 git clean -fxd {dir_path}

git status 에서만 파일을 수정하게 됩니다.



답변자 : Shital Shah


이 리포지토리 + 하위 모듈에서 모든 추가 폴더와 파일을 제거합니다.

이것은 당신을 새로운 클론과 같은 상태로 만듭니다.

 git clean -ffdx

이 저장소의 모든 추가 폴더와 파일을 제거하지만 하위 모듈은 제거하지 마십시오.

 git clean -fdx

파일이 아닌 추가 폴더 제거(예: 빌드 또는 로그 폴더)

 git clean -fd

추가 폴더 제거 + 무시된 파일(새로 추가된 파일 제외)

파일이 무시되지 않고 아직 체크인되지 않은 경우 그대로 유지됩니다. 대문자 X에 유의하십시오.

 git clean -fdX

새로운 대화형 모드

 git clean


답변자 : Alireza


좋아, 원치 않는 추적되지 않은 파일과 폴더를 삭제하는 git 을 사용하여 쉽게 할 수 있습니다. 다음과 같이 하십시오.

 git clean -fd

기록을 남기지 않고 파일과 폴더를 삭제하므로 수행하기 전에 다시 확인하십시오...

또한 이 경우 -f 는 강제를 -d 는 디렉토리를 나타냅니다...

따라서 파일만 삭제하려면 -f 만 사용할 수 있습니다.

 git clean -f

당신이 (디렉토리) 및 파일을 삭제하려는 경우, 당신은이 같은 단지의 비 추적 디렉토리와 파일을 삭제할 수 있습니다 :

 git clean -fd

또한 git에서 무시되는 파일을 포함 -x 플래그를 사용할 수 있습니다. 이것은 모든 것을 삭제하려는 경우에 유용합니다.

그리고 -i 플래그를 추가하면 git이 이동 중에 파일을 하나씩 삭제할 수 있는 권한을 요청합니다.

확실하지 않고 먼저 확인하려는 경우 -n 플래그를 추가하십시오.

삭제 성공 후 보고서를 보고 싶지 않다면 -q 사용하십시오.

기억에 남을 수 있도록 아래 이미지도 만들어 보았는데, 특히 -f 를 폴더 청소로 혼동하거나 혼동하는 경우를 많이 봤습니다!


원치 않는 추적되지 않은 파일 및 폴더 삭제



답변자 : Pooja


git clean -fd 는 디렉토리를 제거합니다.

git clean -fX 는 무시된 파일을 제거합니다.

git clean -fx 무시된 파일과 무시되지 않은 파일을 제거합니다.

위의 모든 옵션을 다음과 같이 조합하여 사용할 수 있습니다.

git clean -fdXx

더 많은 도움을 받으려면 git 매뉴얼을 확인하십시오.



답변자 : Chhabilal


더 좋은 방법은 다음을 사용하는 것입니다. git clean

 git clean -d -x -f

(-d) git (-x) 무시되는 파일을 포함하여 추적되지 않은 파일이 제거됩니다.

-f 인수를 -n 으로 교체하여 dry-run 을 수행하거나 -i 로 대화식 모드를 수행하면 제거될 항목을 알려줍니다.



답변자 : bit_cracker007


사용자 상호 작용 방식:

 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/arsdumpgenerator/inspector/ [y/N]? y Remove src/com/arsdumpgenerator/manifest/ [y/N]? y Remove src/com/arsdumpgenerator/s3/ [y/N]? y Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y Remove tst/com/arsdumpgenerator/s3/ [y/N]? y

-i 대화식
-f 힘
-d 디렉토리
무시된 파일의 경우 -x(필요한 경우 추가)

참고: -n 또는 --dry-run 을 추가하여 수행할 작업을 확인하십시오.



답변자 : thybzi


내가 방금 발명하고 시도한(완벽하게 작동하는) 그러한 상황에 대한 구명 해킹:

 git add . git reset --hard HEAD

조심해! 이 작업을 수행하기 전에 필요한 모든 변경 사항 (비추적 파일에서도)을 커밋해야 합니다.



답변자 : rahul286


나를 위해 다음 만 작동했습니다.

 git clean -ffdx

다른 모든 경우에는 일부 하위 디렉토리에 대해 "디렉토리 건너뛰기" 메시지가 표시되었습니다.



답변자 : Nikita Leonov


git clean -f -d -x $(git rev-parse --show-cdup) 는 저장소 디렉토리 트리 내에서 어디에 호출하든 상관없이 루트 디렉토리에 clean을 적용합니다. 나는 당신이 지금 작업하고 있는 폴더를 강제로 떠나지 않고 당신이 있는 곳에서 바로 정리하고 커밋할 수 있도록 하기 때문에 항상 그것을 사용합니다.

-f , -d , -x 플래그가 요구 사항과 일치하는지 확인하십시오.

 -d Remove untracked directories in addition to untracked files. If an untracked directory is managed by a different Git repository, it is not removed by default. Use -f option twice if you really want to remove such a directory. -f, --force If the Git configuration variable clean.requireForce is not set to false, git clean will refuse to delete files or directories unless given -f, -n or -i. Git will refuse to delete directories with .git sub directory or file unless a second -f is given. This affects also git submodules where the storage area of the removed submodule under .git/modules/ is not removed until -f is given twice. -x Don't use the standard ignore rules read from .gitignore (per directory) and $GIT_DIR/info/exclude, but do still use the ignore rules given with -e options. This allows removing all untracked files, including build products. This can be used (possibly in conjunction with git reset) to create a pristine working directory to test a clean build.

다른 플래그도 사용할 수 있습니다. git clean --help



답변자 : Rajeev Shetty


추적되지 않은 파일을 제거하려면:

 git add . git reset --hard HEAD


답변자 : JD Brennan


'git status'에 의해 추적되지 않는 것으로 나열된 파일만 삭제하려는 경우

 git stash save -u git stash drop "stash@{0}"

'git clean'은 git이 무시하는 파일을 삭제하므로 다음 빌드에서 모든 것을 다시 빌드해야 하고 IDE 설정도 잃을 수 있기 때문에 저는 이것을 'git clean'보다 선호합니다.



답변자 : DevWL


`git clean` 명령을 실행할 때 주의하십시오.

제거할 파일을 표시하므로 실제 명령을 실행하기 전에 -n 을 사용하십시오.

 git clean -n -d git clean -f -d

기본적으로 git clean 은 무시되지 않는 추적되지 않은 파일만 제거합니다. .gitignore 또는 기타 무시 파일의 패턴과 일치하는 파일은 제거되지 않습니다. 해당 파일도 제거하려면 clean 명령에 -x

 git clean -f -d -x

대화 형 모드로 사용할 수도있다 -i 깨끗한 명령은

 git clean -x -i

대안으로

커밋되지 않은 작업을 삭제하는 것이 안전한지 100% 확신할 수 없다면 대신 스태싱을 사용할 수 있습니다.
 git stash --all

또한 디렉토리를 지우지만 stashapply 또는 pop 을 사용하여 언제든지 파일을 검색할 수 있는 유연성을 제공합니다. 그런 다음 숨김 파일을 제거해도 괜찮다면 다음을 실행할 수 있습니다.

 git stash drop // or clean

stash로 작업하는 방법에 대한 전체 지침을 보려면 git에서 이름으로 stash의 이름을 지정하고 검색하는 방법을 참조하세요.



답변자 : Omar Mowafi


실제로 삭제하기 전에 무엇을 삭제할지 알아보려면:

git clean -d -n

다음과 같이 출력됩니다.

sample.txt를 제거합니다.

이전 명령의 출력에 나열된 모든 것을 삭제하려면:

git clean -d -f

다음과 같이 출력됩니다.

sample.txt 제거



답변자 : Gaurav


추적되지 않은 파일을 제거하려면 먼저 명령을 사용하여 청소의 영향을 받을 파일을 확인해야 합니다.

 git clean -fdn

그러면 삭제할 파일 목록이 표시됩니다. 이제 해당 파일을 실제로 삭제하려면 다음 명령을 사용하십시오.

 git clean -fd


답변자 : Mohideen bin Mohammed


git 문서에서 추적되지 않은 파일 을 제거하기 위한 uggested 명령은 git clean입니다.

git clean - 작업 트리에서 추적되지 않은 파일 제거

제안된 방법: git clean -i 를 사용하여 대화형 모드를 사용하여 제어할 수 있습니다. 사용 가능한 나머지 옵션을 확인하십시오.

사용 가능한 옵션:

 git clean -d -f -i -n -q -e -x -X (can use either)

설명:

1. -

추적되지 않은 파일과 함께 추적되지 않은 디렉토리를 제거합니다. 추적되지 않은 디렉토리가 다른 Git 리포지토리에서 관리되는 경우 기본적으로 제거되지 않습니다. 그러한 디렉토리를 정말로 제거하려면 -f 옵션을 두 번 사용하십시오.

2. -f, --힘

Git 구성 변수 clean.requireForce가 false로 설정되지 않은 경우 git clean은 -f, -n 또는 -i가 지정되지 않는 한 실행을 거부합니다.

3. -i, --대화형

수행할 작업을 보여주고 대화식으로 파일을 정리합니다. 자세한 내용은 "대화형 모드"를 참조하십시오.

4. -n, --드라이런

실제로 아무것도 제거하지 말고 수행할 작업만 표시하십시오.

5. -q, --조용한

조용히하고 오류만 보고하고 성공적으로 제거된 파일은 보고하지 마십시오.

6. -e, --exclude=

.gitignore(디렉토리당) 및 $GIT_DIR/info/exclude에 있는 패턴 외에도 이러한 패턴이 유효한 무시 규칙 집합에 있는 것으로 간주합니다.

7. -x

.gitignore(디렉토리당) 및 $GIT_DIR/info/exclude에서 읽는 표준 무시 규칙을 사용하지 말고 -e 옵션과 함께 제공된 무시 규칙을 계속 사용하십시오. 이렇게 하면 빌드 제품을 포함하여 추적되지 않은 모든 파일을 제거할 수 있습니다. 이것은 깨끗한 빌드를 테스트하기 위해 깨끗한 작업 디렉토리를 만드는 데 사용할 수 있습니다(git reset과 함께).

8. -X

Git에서 무시하는 파일만 제거합니다. 이것은 모든 것을 처음부터 다시 빌드하는 데 유용할 수 있지만 수동으로 만든 파일은 유지합니다.



답변자 : kujiy


일반 git clean git version 2.9.0.windows.1 추적되지 않은 파일을 제거하지 않습니다.

 $ git clean -fdx # doesn't remove untracked files $ git clean -fdx * # Append star then it works!


답변자 : Vaisakh VM


git clean -f to remove untracked files from working directory.

여기 내 블로그 git-intro-basic-commands 에서 몇 가지 기본 사항을 다루었습니다.



답변자 : Elangovan


아래 git 주석을 사용하여 현재 git 작업 트리에서 추적되지 않은 로컬 파일을 쉽게 제거할 수 있습니다.

 git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

예시:

 git reset --hard HEAD

연결 :

  1. https://git-scm.com/docs/git-reset
  2. 이전 커밋으로 되돌리기 위해 'git reset --hard HEAD'를 어떻게 사용합니까?
  3. 로컬 리포지토리 분기를 원격 리포지토리 HEAD와 동일하게 재설정
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html


답변자 : Sergey


git 저장소와 모든 하위 모듈을 재귀적으로 정리합니다.

다음 명령은 현재 git 저장소와 모든 하위 모듈을 재귀적으로 정리합니다.

 (git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)


답변자 : Sudhir Vishwakarma


git clean -f

현재 자식에서 추적되지 않은 파일을 제거합니다

 git clean -fd

디렉터리와 파일을 제거하려는 경우 추적되지 않은 디렉터리와 파일만 삭제됩니다.



답변자 : jenny


git add --all , git stashgit stash drop , 이 세 가지 명령을 순서대로 시도하여 추적되지 않은 모든 파일을 제거하십시오. 추적되지 않은 모든 파일을 git에 추가하고 숨김으로써 추적되지 않은 모든 파일을 숨김 목록으로 이동하고 맨 위 파일을 삭제합니다. 즉, stash@{0}는 숨김 목록에서 숨긴 변경 사항을 제거합니다.



출처 : Here


출처 : http:www.stackoverflow.com/questions/61212/how-to-remove-local-untracked-files-from-the-current-git-working-tree">

반응형