편집 : 아래 단계를 수행하면 실제로 문제가 재현됩니다. 예, 파일의 이름은 stuff.txt
이며 파일 이름에 .
으로 시작하지 않습니다. echo *
을 입력하면 실제로 stuff.txt
이 인쇄됩니다."git add *"가 루트 디렉토리에 파일을 추가하지 않는 이유는 무엇입니까?
git add *
명령은 일반적으로 git add .
과 비슷하지만 하나의 큰 예외가 있습니다. git add *
은 Git 저장소의 루트 디렉토리에 파일을 추가하지 않습니다. 새 파일 (??
) 또는 수정 된 기존 파일 (M
)을 추가하지 않습니다. 재현하는 데 필요한 단계는 다음과 같습니다.
mac$ mkdir myrepo
mac$ cd myrepo
mac$ git init
mac$ touch stuff.txt
mac$ git add *
fatal: no files added
mac$ git status -s
?? stuff.txt
# It looks like 'git add *' totally dropped the ball.
mac$ git add .
# Nothing prints. Success?
mac$ git status -s
A stuff.txt
# Yes, success.
어떤 문제가 있습니까? git add *
은 추가 또는 수정 된 파일이 myrepo/mydir/
과 같은 하위 디렉토리에있는 한 올바르게 작동합니다. 이 문제점은 저장소의 최상위 레벨에있는 파일에서만 발생합니다.
내 설정 :
맥 OS X 10.9.1 매버릭스
힘내 버전 1.8.3.4 (애플 힘내-47)
내가 애플 엑스 코드를 설치하여 망할 놈의 버전을 얻었다.
애플 터미널 버전 2.4 (326)
나는 분명히 호기심을 묻고있다. git add .
을 사용하면 100 % 만족스러운 해결 방법입니다.
그것은 기괴합니다. '*'는 Git과 관련이 없으며, 쉘에 의해 확장되어야합니다. –
파일은 실제로'stuff.txt'라고 불리우며 그 이름이'.'로 시작합니까? – Mat
가능한 중복 파일 [gitignore - 치명적인 : 파일 없음] (http://stackoverflow.com/questions/12084227/gitignore-fatal-no-files-added) –