Quiero crear un repository que tenga sub-repositorys, para hacer eso creé una carpeta de sample
en mi espacio de trabajo:
$ cd ~/workspace/ $ mkdir samples $ cd samples $ pwd ~/workspace/samples
Esto significa que la carpeta de muestra será el repository principal (algo así como un contenedor) , por ejemplo, me gustaría tener la siguiente estructura:
$ mkdir sample-java $ mkdir sample-c-plus-plus $ mkdir sample-csharp $ ls -l total 3 drwxr-xr-x juanca staff 408 Mar 30 20:04 sample-java drwxr-xr-x juanca staff 408 Mar 30 20:12 sample-c-plus-plus drwxr-xr-x juanca staff 408 Mar 30 20:23 sample-csharp
Quiero un repository para cada carpeta enumerada anteriormente, en mi count de github, por ejemplo:
|- samples -----------------> github.com/my-user/samples.git |- sample-java ---------> github.com/my-user/samples.git/sample-java.git |- sample-c-plus-plus --> github.com/my-user/samples.git/sample-c-plus-plus.git |- sample-csharp -------> github.com/my-user/samples.git/sample-csharp.git
Me gustaría tener el control en cada carpeta sample-*
y, a su vez, todos ellos agrupados en un repository principal.
¿Es posible? ¿O cuál sería el mejor enfoque?
Encontré algo similar con el submodule git, pero esto agrega un repository existente, por ejemplo:
$ git submodule add https:// github.com/any-account/any-project.git any-project
No creo que esta solución funcione para mí. ¿Alguna idea?
Encontré algo similar con el submodule de git, pero esto agrega un repository existente.
Esta es en realidad la solución.
Cada uno de los sub-repo debería ser un repository individual propio (es decir, directamente debajo de github.com/my-user
).
De esta forma, puedes declararlos como submodule de tu repos principal
cd samples git submodule add github.com/my-user/sample-java.git sample-java git submodule add github.com/my-user/sample-c-plus-plusgit sample-c-plus-plus git submodule add github.com/my-user/csharp.git sample-csharp
De esa manera:
git clone --recursive
de las samples
repos se git clone --recursive
automáticamente y verificaría esos sub-repos en su SHA1 respectivo.