.gitignore 파일에 제외 된 파일의 이름이 있습니다. .git 폴더를 삭제하고 git init
을 수행하면 git add *
이후에 .gitignore가 무시하지 않는 모든 파일이 추가 될 것으로 예상됩니다. 그러나 .gitignore는 git status
에 추적 할 수없는 파일로 표시하고 !.gitignore
을 .gitignore에 포함해도 git add .gitignore
으로 수동으로 추가해야합니다."git add *"는 .gitignore를 제외하는 이유는 무엇입니까?
답변
는 명령에 *
때문에 실제로 .
승 응시을 제외한 현재 디렉토리 에서 파일 (과 디렉토리)의 이름으로 대체됩니다. 당신은 또한 포함 할 경우 .gitignore 당신은 호출해야합니다 : 모든 점 파일이 전화를 포함합니다
git add * .gitignore
: 당신이 zsh을를 사용하는 경우
git add * .[!.]*
, 당신은 간단한 패턴을 사용할 수 있습니다 :
git add * .*
오류.'. *'주의 :'..' 및'git add ..가 포함되어 있습니다. 'OP가 기대하는 것보다 훨씬 많은 것을 포함합니다! –
@MatthieuMoy "조심성있는"- 확실히 맞습니다. 그러나 OP의 경우 (CWD가 repo의 루트 디렉토리 일 때), git은 외부에 아무것도 포함하지 않습니다. 다른 경우는 하위 디렉토리에있을 때입니다. – jankes
나는 치명적인 결과를 얻는다 : .. : .. .. '저장소 밖에있다.'하지만 내 질문에 답한다. 나는 repo에 필요한 모든 파일을 포함하기 위해 add *를 원했다. 그러나 나는 단지'git add * .gitignore'라고 추측한다. – Radivarig
껍질이 glob 확장에서 도트 파일을 무시하는 것 같습니다. 어떤 쉘을 사용하고 어떻게 구성했는지 알지 못하면 더 많은 것을 말하기 란 불가능합니다. 어쨌든, 이것은 간단한 "내 운영 체제 사용법"질문이며 프로그래밍과 관련이 없습니다. 개인적으로, 나는 항상'git add. '를 사용하고 전체 glob 비즈니스를 밟는다. –
읽기 : http://unix.stackexchange.com/questions/70928/shell-wildcards-and-dot-files –