2013-07-26 2 views

답변

7

마스터에 추가됩니다. 당신이 만든 폴더는 자식에게는 알려지지 않았기 때문에 자식은 그것을 만지지 않을 것이다.

git init #create repo 
touch file1.txt 
git add file1.txt 
git commit -m 'initial commit' 
git branch newBranch 
git checkout newBranch 
mkdir folder 
touch folder/file2.txt 
git add folder #tell git we want to track the folder 
git commit -m 'second commit' 
git checkout master 
# folder/file2.txt is not available as expected. 

편집 : 예제의 폴더가 마스터에 추가되지 않았 음을 명확히하기 위해 실제로 어떤 지점에도 추가되지 않았습니다.

+0

간단히 말해 추가 및 커밋을 수행하면 예상 한 결과가 나타납니다. 나는 이것을 테스트하고 작동한다. 감사. – binarygiant

+0

당신이 파일을 준비 (추가)하고 커밋하지 않으면 git은 안전한 경로를 취하고 그들을 망치지 않습니다. –

7

혼란스러워하는 2 가지 오해가있는 것 같습니다.

  1. 브랜치를 전환 할 때 불안전 한 변경 사항을 덮어 쓰지 않습니다. 파일이 addcommit이되어야 Git이 그 파일에 무엇인가를 할 수 있습니다 (다른 브랜치를 계산할 때이를 수정하거나 삭제할 수 있습니다).
  2. 힘내는 디렉토리를 추적하지 않으며 파일 만 추적합니다. Git에서는 빈 디렉터리를 버전화할 수 없습니다. Git에 빈 디렉토리를 위탁하고 싶다면, 일반적인 해결책은 그 디렉토리에 빈 .gitignore을 추가하고 커밋하는 것입니다.
관련 문제