2009-10-15 4 views
17

У меня есть глупая проблема ... однако я прочитал отличный git tutorial здесь, я не могу создать каталоги.Как скопировать каталог в репозиторий git?

Моя структура папок:

код - Python - C++ - F # - ...

Изнутри сгенерированной локального хранилища "Кодекс" Я изменил в подпапках "Python", «C++», ... сделал git init, и теперь мне нужна такая же структура на моем сервере управления версиями.

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

У меня есть что-то совершенно неправильное, не так ли?

Спасибо, wishi

ответ

29

Сначала попробуйте добавить файлы в папки. Вы можете добавить некоторый фиктивный файл в каталог и удалить этот файл, когда вы добавили фактический контент для каталога.

Git не отслеживает пустые каталоги, отслеживает файлы и их содержимое.

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

В Rails соглашение должно поместить файл '.keep' в каталог. Это кажется разумным (де-факто) стандартом для меня, и я предлагаю вам использовать это имя файла. – Nate

21

Git не совершающие пустые каталоги. Сначала должны быть файлы в каталогах.

+0

Thanks man !! ;) – wishi

+1

Но этот «файл» может быть невидимым .gitignore-файлом, см. Http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository –

Смежные вопросы