2009-10-15 27 views
17

Tengo un problema estúpido ... sin embargo, he leído el gran git tutorial aquí, no puedo crear directorios.¿Cómo comprometer un directorio en un repositorio de git?

Mi estructura de carpetas es:

Código - Python - C++ - F # - ...

Desde dentro de un "código" inicializado repositorio local Me puse las subcarpetas "Python", "C++", ... hizo git init y ahora quiero la misma estructura en mi servidor de versiones.

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

Supongo que tengo algo completamente equivocado, ¿o sí?

Gracias, Wishi

Respuesta

29

Primero intente agregar algunos archivos a los directorios. Puede agregar un archivo ficticio al directorio y eliminarlo cuando haya agregado el contenido real del directorio.

Git no rastrea los directorios vacíos, rastrea los archivos y sus contenidos.

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' 'funciona bien para eso (o un dummy' '.keepme''). –

+2

Solo necesita uno de los dos aquí. Cuando se le da un directorio, 'git-add' lo agrega recursivamente. Por otro lado, añadiendo el único archivo en el directorio es el mismo que sumar todo el directorio, ya que, como se dice, git seguimiento de los archivos y su contenido. – Cascabel

+1

En Rails, la convención es poner un archivo '.keep' en el directorio. Este parece ser un razonable (de facto) estándar para mí y me gustaría sugerir que utilice ese nombre de archivo. – Nate

21

Git no se comprometerá directorios vacíos. Primero debe haber archivos en los directorios.

+0

Thanks man !! ;) – wishi

+1

Pero este "archivo" podría ser un archivo .gitignore invisible, ver http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository –

Cuestiones relacionadas