Git : git add * -A를 사용할 때 스테이징되지 않는 변경 사항

Nov 18 2020

어떻게 든 .iml 파일이 내 자식 저장소에 들어갔습니다 ...

제거하는 방법은 다음과 같습니다.

  1. 최신 버전을 로컬 폴더에 복제했습니다.
  2. 나중에 마스터로 병합하려는 분기를 확인했습니다.
  3. myproject.iml 삭제 (Windows GUI 사용)
  4. 추가 라인으로 .gitignore를 편집했습니다. *.iml
  5. 변경 사항을 준비하려고합니다. git add * -A
  6. 커밋 시도 : git commit -m"untrack .iml file and ignore for future commits"

문제:

On branch mybranch
Changes not staged for commit:
    modified:   .gitignore
    deleted:    myproject.iml

no changes added to commit

커밋을 위해 준비되지 않은 이유는 무엇입니까? -A스테이지 삭제도 할 거라고 생각 했나요? 또한 어떤 식 으로든 .gitignore에 대한 변경 사항과 같은 변경 사항이 특별한 매개 변수없이 준비 영역에 추가되었다고 생각했습니다.

그 직전에 변경, 삭제, 추가, 브랜치 내 브랜치, 모든 기능을 문제없이 똑같은 절차를 사용하여 밤새도록 파일 20 개를 커밋했기 때문에 이상합니다!

답변

3 VonC Nov 18 2020 at 14:53

*git add 명령과 함께 ' '를 사용하지 마십시오 . ' *'는 쉘 확장을 의미하며, 귀하의 경우 에는 파일 / 폴더를 포함하지 않습니다.xxx .

간단히 사용 :

git add .

( ' .'에 주의하세요 ) Git 2.0 이후로 기본값 인은
필요하지 않습니다 .-A

이에 대한 자세한 내용은 " Git의 (점) 및 (별표) 와일드 카드의 차이점.* "을 참조하십시오 .

Abdeladim Nov 18 2020 at 14:56

명령은 "git add."( '*'대신 '.')이며 -A는 필요하지 않습니다.