[git] Git에서 추적되지 않은 파일을 제거하는 방법?

마스터 브랜치에서 분기 한 “실험용”브랜치에서 작업 중입니다. 그런 다음 실험 브랜치에서 사용자 모델을 생성하지만 아직 인덱스에 추가하지는 않습니다.

실험용 브랜치에 최근 추가 된 파일의 모든 변경 사항을 삭제하려면 어떻게해야합니까? 추적되지 않는 파일은 다음과 같습니다.

$ git status
 On branch new_chick
 Untracked files:
   (use "git add <file>..." to include in what will be committed)

       .project
       app/models/user.rb
       db/migrate/
       test/fixtures/users.yml
       test/unit/user_test.rb

모든 변경 사항을 취소하기 위해 “git reset –hard”를 실행하려고했지만 위의 모든 파일이 여전히 표시됩니다.

누구든지 나에게 빛을 비춰주세요.



답변

추적되지 않는 파일 / 디렉토리를 제거하려면 다음을 수행하십시오.

git clean -fdx

-f-힘

-d-디렉토리도

-x-무시 된 파일도 제거합니다 (무시 된 파일을 제거하지 않으려면 사용하지 마십시오)


주의해서 사용하십시오!
이 명령은 처음에는 생각하지 못했던 임의의 파일을 영구적으로 삭제할 수 있습니다. 이 답변 아래의 모든 주석과 –help 섹션 등을 다시 확인하고 읽으십시오. 모든 세부 사항을 알고 명령을 미세 조정하고 예상 결과를 확실히 얻으십시오.


답변

사용자 상호 작용 방식 :

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 for interactive
-f for force
-d for directory
-x for 무시 된 파일 (필요한 경우 추가)

참고 : 수행 할 작업을 확인하려면 -n 또는 –dry-run추가 합니다.


답변

추적되지 않은 파일입니다. 이것은 git이 추적하지 않는다는 것을 의미합니다. git ignore 파일에 없기 때문에 나열하는 것뿐입니다. 그들은 git에 의해 추적되지 않기 때문에 git reset그들을 건드리지 않을 것입니다.

추적되지 않은 모든 파일을 날려 버리고 싶다면 가장 간단한 방법은 git clean -f( git clean -n실제로 아무것도 삭제하지 않고 무엇을 파괴할지 ​​보려면 대신 사용 하십시오). 그렇지 않으면 원하지 않는 파일을 직접 삭제할 수 있습니다.


답변

추적되지 않는 파일 삭제 :

git clean -f

추적되지 않은 디렉토리도 삭제하려면 다음을 사용하십시오.

git clean -f -d

심장 마비를 예방하려면

git clean -n -f -d


답변

다른 방법으로 로컬 저장소의 이전 상태로 돌아갈 수도 있습니다.

  1. 를 사용하여 추적되지 않은 파일을 준비 영역에 추가합니다 git add.
  2. 를 사용하여 로컬 저장소의 이전 상태로 돌아갑니다 git reset --hard.

답변

구조 명령은 git clean입니다.


답변

글쎄, 나는 비슷한 문제가 있었다. 나는 최신을 가져 왔지만 특정 파일에 병합이 발생하지 않아 로컬에 약간의 변경이있었습니다. 파일이 추적되지 않았고 원하지 않았으므로 내가 한 것은-

$ git checkout 파일 경로 / 파일 이름

filepath-내가 git bash를 한 위치. 그런 다음 최신 버전을 가져 왔을 때 변경 사항을 사용할 수있었습니다.