programing

현재 Git 작업 트리에서 로컬(추적되지 않은) 파일을 제거하려면 어떻게 해야 합니까?

sourcejob 2023. 4. 9. 21:26
반응형

현재 Git 작업 트리에서 로컬(추적되지 않은) 파일을 제거하려면 어떻게 해야 합니까?

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

git-clean - 추적되지 않은 파일을 작업 트리에서 제거합니다.

개요

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

묘사

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

않은 되지만, Git의 경우 가 가능합니다.-x옵션을 지정하면 무시된 파일도 제거됩니다.예를 들어, 이것은 모든 빌드 제품을 제거하는 데 유용할 수 있습니다.

의 「」가 .<path>...인수가 지정되면 해당 경로만 영향을 받습니다.


, 1번, 1번, 3번, 3번, 3번, 4번, 4번, 4번, 4번, 4번, 4번, 4번, 4번, 4번, 4번, , 4번, 4번, 4번, 4번, 4번, 4번, 4번, 4번, , 4-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을 사용하다

ifclean.requireForce 「true되어 있습니다.「 true 」 、 「 true ( true ) 」를 지정할 필요가 .-f그렇지 않으면 실제로 아무 일도 일어나지 않을 거야

상세한 것에 대하여는, 재차 문서를 참조해 주세요.


옵션들

-f,--force

clean.되어 있지 clean은 Git 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디렉토리도 삭제되도록 합니다.

  1. 실제로 아무것도 제거하지 말고 어떻게 되는지 보여 주세요.

    git clean -n
    

    또는

    git clean --dry-run
    
  2. 추적되지 않은 파일뿐만 아니라 추적되지 않은 디렉토리도 제거합니다.추적되지 않은 디렉토리가 다른 Git 저장소에서 관리되는 경우 기본적으로 제거되지 않습니다. 하다를 사용하세요.-f이러한 디렉토리를 삭제하려면 옵션을 두 번 선택합니다.

    git clean -fd
    

할 수 .git status.

지금까지 아무도 이것에 대해 언급하지 않았다니 놀랍다.

git clean -i

이는 interactive의 약자로, 삭제 대상이 되는 파일을 포함/제외할 수 있는 간단한 개요가 표시됩니다.전체적으로는 필수 실행 속도보다 더 빠릅니다.--dry-run진짜 청소하기 전에 말이야

.-d빈 폴더도 관리할 수 있습니다.마지막에는 멋진 별칭이 됩니다.

git iclean

이 많은사용자에게 할 수 . '아까부터'를 요.git clean -fd

git-clean되지 않은 합니다 - -추적 ---- - - - 。

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

추적되지 않은 모든 파일을 제거하려면 먼저 모든 파일추가한 후 아래와 같이 리셋합니다.

git add --all
git reset --hard HEAD

git 저장소(서브모듈)를 .-f 2회:

git clean -d -f -f

항상 사용하는 것은 다음과 같습니다.

git clean -fdx

대규모 프로젝트에서는 여러 번 실행하는 것이 좋습니다.

는 아요를 좋아한다.git stash push -u 을 「」로 되돌릴 수 입니다.git stash pop.

EDIT: 또한 추적되지 않은 파일을 저장소로 표시하는 방법도 찾았습니다(예:git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986

© 2:git stash save 폐지되다push@script-wolf @script-wolf 사 @ @ @

'git clean' 명령어를 실행할 때는 주의하십시오.

★★★★★★를 사용 -n 먼저

「」를 사용합니다.-n됩니다.clean 명령어는 삭제되는 파일을 나타냅니다.

-d일반적으로 no를 지정하면 git clean은 너무 많이 삭제되지 않도록 추적되지 않은 디렉토리에 다시 나타나지 않습니다. 를 하면, 이러한 d 는, 「D」, 「D」는 「D」로 표시됩니다.경로를 지정하면 -d는 관련이 없습니다. --force 아래에 언급된 중첩된 git 디렉토리의 예외를 제외하고 지정된 경로에 일치하는 추적되지 않은 모든 파일이 제거됩니다.

-f|--forceGit 설정 변수 clean.requireForce가 false로 설정되어 있지 않은 경우 git clean은 -f 또는 -i를 지정하지 않는 한 파일 또는 디렉토리의 삭제를 거부합니다.Git은 두 번째 -f가 주어지지 않는 한 추적되지 않은 중첩된 Git 저장소(.git 하위 디렉토리가 있는 디렉토리)의 수정을 거부합니다.

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

서 제제 없이 실행하세요.-n이치노

git clean -d -f

" " " 입니다.git clean무시되지 않는 추적되지 않은 파일만 제거합니다..gitignore 또는 기타 무시 파일의 패턴과 일치하는 파일은 삭제되지 않습니다.는, 「이러다」, 「이러다」를 할 수 .-x commandclean으로 이동합니다.

git clean -f -d -x

할 수 .-i clean " " " " 를

git clean -x -i

또는

If you are not 100% sure that deleting your uncommitted work is safe, you could use stashing instead
git stash --all

하기 stash --all " "의 : "--all옵션을 사용하면 추적되지 않은 파일뿐만 아니라 무시된 파일도 저장 및 치료됩니다.

git stash push --keep-index

--keep-index 옵션을 사용할 경우 색인에 이미 추가된 모든 변경사항은 그대로 유지됩니다.단계별 변경 내용은 작업 영역에 남아 있지만 동시에 저장에도 저장됩니다.

" "git stash 것은 인수가 없는 것과 .git stash push.

git stash push -m "name your stash" // before git stash save (deprecated)

사용된 플래그를 기반으로 저장하면 저장 저장소에 저장함으로써 스테이징되지 않은/스테이지된 파일에서 디렉토리를 지울 수 있습니다.stash with apply 또는 pop을 사용하여 언제든지 파일을 가져올 수 있는 유연성을 제공합니다.저장된 파일을 삭제해도 괜찮다면 다음을 실행할 수 있습니다.

git stash drop // or clean

stash를 사용하는 방법에 대한 전체 지침을 보려면 "git에서 이름으로 stash 이름을 지정하고 가져오는 방법"을 참조하십시오.

여기에 이미지 설명 입력

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

특정 서브디렉토리에서 추적되지 않은 파일을 삭제할 필요가 있는 경우

git clean -f {dir_path}

또한 추적되지 않은 dir/files 및 무시된 파일을 삭제하는 통합 방법입니다.

git clean -fxd {dir_path}

요.git status.

이 repo + 하위 모듈의 모든 추가 폴더 및 파일 제거

이를 통해 신규 클론과 동일한 상태가 됩니다.

git clean -ffdx

이 레포의 모든 추가 폴더 및 파일을 제거하지만 하위 모듈에는 제거하지 않습니다.

git clean -fdx

파일은 삭제하지 않고 추가 폴더 삭제(예: 빌드 또는 로그 폴더)

git clean -fd

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

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

git clean -fdX

새로운 인터랙티브 모드

git clean

, 추적되지 않은 불필요한 파일 및 폴더 삭제는 다음과 같습니다.git명령줄에서 다음과 같이 수행합니다.

git clean -fd

이력을 작성하지 않고 파일 및 폴더가 삭제되므로 실행하기 전에 다시 확인하십시오.

이 는, 「」입니다.-f'힘'은 '힘', '힘'은 '힘'을 .-ddirectory...의 입니다.

""를 사용할 수 .-f 삭제:

git clean -f

(디렉토리) 및 파일을 삭제하려면 다음과 같이 추적되지 않은 디렉토리 및 파일만 삭제할 수 있습니다.

git clean -fd

,을 사용할 수 .-xdisclude git.disclude files for the ignored git.disclude files for git.disclude to 모든 것을 삭제하고 싶을 때 도움이 됩니다.

★★★★★★★★★★를 추가-iflag는.

것이 , 을.-n

-q삭제 성공 후 보고서를 표시하지 않으려면 이 옵션을 선택합니다.

이 더 에 남도록 .-f가끔 폴더를 청소하거나 어떻게든 섞기 위해서!


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

git clean -fd합니다.

git clean -fXignored 합니다.

git clean -fx 파일 및 합니다.

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

git clean -fdXx

자세한 도움말은 git 매뉴얼을 참조하십시오.

더 좋은 방법은 다음과 같습니다: git clean

git clean -d -x -f

에 의해, 「」를 파일이 삭제됩니다.(-d) 파일이 됩니다.git (-x).

「」를 .-f을 하다-n를 지내다dry-run ★★★★★★★★★★★★★★★★★」-i인터랙티브모드의 경우는, 삭제 대상이 표시됩니다.

사용자 인터랙티브 어프로치:

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

의 경우입니다.
force-f()의 경우
(directory-d)의 경우
-x(-x)

-n 또는 --dry-run을 추가하여 동작을 확인합니다.

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

git add .
git reset --hard HEAD

(완벽하게 동작하는) 그런 상황에 대한 라이프핵:

git add .
git reset --hard HEAD

주의! 이 작업을 수행하기 전에 필요한 변경(추적되지 않은 파일에서도)을 반드시 커밋하십시오.

다음 작업만 수행할 수 있습니다.

git clean -ffdx

그 외의 경우는, 「Skiping Directory(디렉토리 건너뛰기)」라고 하는 메세지가 표시되고 있었습니다.

git clean -f -d -x $(git rev-parse --show-cdup)는, 저장소 디렉토리 트리내의 어디에 콜을 걸어도, 루트 디렉토리에 클린 적용됩니다.현재 작업 중인 폴더를 강제로 떠나지 않고 현재 작업 중인 곳에서 바로 청소 및 커밋할 수 있기 때문에 항상 사용하고 있습니다.

깃발을 들도록 하세요.-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.

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

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

git clean보다는 git clean을 선호합니다.git clean은 git에 의해 무시된 파일을 삭제하기 때문에 다음 빌드에서는 모든 파일을 재구축해야 하고 IDE 설정도 손실될 수 있습니다.

실제로 삭제하기 전에 삭제할 항목을 확인하려면:

git clean -d -n

다음과 같이 출력됩니다.

샘플을 제거할 수 있습니다.txt

이전 명령어 출력에 나열된 모든 내용을 삭제하려면 다음 절차를 수행합니다.

git clean -d -f

다음과 같이 출력됩니다.

샘플을 제거하는 중입니다.txt

git add --all,git stash ★★★★★★★★★★★★★★★★★」git stash drop추적되지 않은 파일을 모두 삭제하려면 다음 3개의 명령을 순서대로 실행합니다.추적되지 않은 모든 파일을 git에 추가하고 저장함으로써 추적되지 않은 모든 파일을 저장 목록으로 이동하고 상위 파일을 삭제합니다. 즉, stash@{0}은 저장 목록에서 저장 변경 내용을 삭제합니다.

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

git clean -fdn

삭제되는 파일의 리스트가 표시됩니다.이러한 파일을 실제로 삭제하려면 다음 명령을 사용합니다.

git clean -fd

git docs에서 추적되지 않은 파일을 삭제하기 위한 명령어는 git clean입니다.

git clean - 추적되지 않은 파일을 작업 트리에서 제거합니다.

권장 방법:를 사용한 인터랙티브모드git clean -i사용됩니다.사용 가능한 다른 옵션을 표시합니다.

사용 가능한 옵션:

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

설명:

1. -d

추적되지 않은 파일뿐만 아니라 추적되지 않은 디렉토리도 제거합니다.추적되지 않은 디렉토리가 다른 Git 저장소에서 관리되는 경우 기본적으로 제거되지 않습니다.이러한 디렉토리를 삭제하려면 -f 옵션을 두 번 사용합니다.

2. -f, --force

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

3. -i, --진행적

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

4. -n, --드라이런

실제로 아무것도 제거하지 말고 어떻게 되는지 보여 주세요.

5. -q, --quiet

조용히 해 주세요.오류만 보고하고, 정상적으로 삭제된 파일은 보고하지 마십시오.

6. -e , --filename=

.gitignore(디렉토리 단위) 및 $GIT_DIR/info/exclude에 있는 패턴과 더불어 이러한 패턴은 유효한 무시 규칙 세트에 포함되어 있다고 간주합니다.

7. -x

.gitignore(디렉토리 단위) 및 $GIT_DIR/info/exclude에서 읽은 표준 무시 규칙은 사용하지 마십시오.단, -e 옵션과 함께 제공된 무시 규칙은 사용하지 마십시오.이를 통해 빌드 제품을 포함하여 추적되지 않은 모든 파일을 제거할 수 있습니다.이것은 (아마도 git reset과 함께) 클린 빌드를 테스트하기 위해 깨끗한 작업 디렉토리를 만들기 위해 사용될 수 있습니다.

8. - X

Git에서 무시한 파일만 제거합니다.이 기능은 모든 것을 처음부터 재구축하는 데 도움이 될 수 있지만 수동으로 작성한 파일은 그대로 유지합니다.

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

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

인 ★★★★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!

아래의 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

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

다음 명령어는 현재 git 저장소와 모든 하위 모듈을 재귀적으로 삭제합니다.

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

oh-my-zsh with zsh는 git 플러그인을 통해 훌륭한 별칭을 제공합니다.bash에서도 사용할 수 있습니다.

gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'

  • gclean 는 추적되지 않은 파일뿐만 아니라 추적되지 않은 디렉토리를 삭제합니다.
  • gpristine로컬 변경을 하드 리셋하고 추적되지 않은 디렉토리 및 추적되지 않은 파일을 삭제하며 .gitignore(디렉토리 단위) $GIT_DIR/info/exclude에서 읽은 표준 무시 규칙을 사용하지 않습니다.단, -e 옵션과 함께 제공된 무시 규칙을 사용합니다. 이를 통해 빌드 제품을 포함하여 추적되지 않은 모든 파일을 제거할 수 있습니다. 이것은 (아마도 git reset과 함께) 클린 빌드를 테스트하기 위해 깨끗한 작업 디렉토리를 만들기 위해 사용될 수 있습니다.

언급URL : https://stackoverflow.com/questions/61212/how-do-i-remove-local-untracked-files-from-the-current-git-working-tree

반응형