2009-10-15 5 views
17

나는 어리석은 문제가있다. 그러나 나는 위대한 git tutorial을 여기 읽었다. 나는 디렉토리를 만들 수 없다.git 저장소에 디렉토리를 커밋하는 방법은 무엇입니까?

내 폴더 구조는 다음과 같습니다

코드 - 파이썬 - C++ - F 번호 - ...

초기화 된 로컬 저장소 "코드"내에서

내가 하위 폴더 "파이썬"로 변경 "C++", ... git init을했는데 이제는 내 버저 닝 서버에서 같은 구조를 원합니다.

% git commit -m "added directories" 
# On branch master 
nothing to commit (working directory clean) 

내가 완전히 잘못한 것 같군, 그렇지?

감사합니다, 이 wishi

답변

29

먼저 일부 파일을 디렉토리에 추가하십시오. 더미 파일을 디렉토리에 추가하고 디렉토리의 실제 내용을 추가하면 해당 파일을 제거 할 수 있습니다.

힘내는 빈 디렉토리를 추적하지 않고 파일과 내용을 추적합니다.

git init 
mkdir foo 
touch foo/dummy_empty_file 

git add foo 
git add foo/dummy_empty_file 
git commit -m "adding files" 
+4

''.gitignore' '는 그 (또는 더미''.keepme' ')를 위해 잘 작동합니다. –

+2

두 가지 추가 중 하나만 필요합니다. 디렉토리가 주어지면'git-add'는 재귀 적으로 추가합니다. 반면에, 디렉토리에있는 유일한 파일을 추가하는 것은 전체 디렉토리를 추가하는 것과 같습니다. 왜냐하면 git은 파일과 그 내용을 추적하기 때문입니다. – Cascabel

+1

레일즈에서 규칙은'.keep' 파일을 디렉토리에 넣는 것입니다. 이것은 합리적 (사실상)의 표준처럼 보입니다. 나는 그 파일 이름을 사용할 것을 제안합니다. – Nate

21

망할 놈의 빈 디렉토리를 저지하지 않습니다. 먼저 디렉토리에 파일이 있어야합니다.

+0

감사합니다 !! ;) – wishi

+1

하지만이 "파일"은 보이지 않는 .gitignore 파일 일 수 있습니다. http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository를 참조하십시오. –

관련 문제