Administre diferentes bases de código usando repository de git simple en lugar de submodules

Después de leer este artículo sobre los submodules, parece que existen solo para enlazar a repositorys git externos desde dentro del suyo. Sin embargo, estoy esperando que los submodules simplemente te permitan administrar múltiples historias de commit separadas desde dentro de un repository.

¿Es posible tener repositorys git no externos? Me gustaría administrar todos mis libros de cocina de cocinero en un repository con historias de compromiso separadas para cada uno, sin la necesidad de crear un montón de repositorys de git

EDITAR: No creo que haya aclarado mi caso de uso. Lo que quise decir es que quería tener la list de libros de cocina para cada uno de mis serveres en lugares exclusivamente accesibles; no es que quisiera un submodule para un libro de cocina individual. En este caso, la respuesta de mu aborda el problema de manera bastante efectiva.

Sí, puedes hacerlo usando twigs orphan . La twig orphan comenzará de cero desde un nuevo padre, por lo que no tendrá ningún compromiso en común con ninguna otra twig.

De esta manera, puede tener varias twigs, cada una correspondiente a un historial de confirmación diferente para su libro de cocina respectivo.

Entonces, todo lo que necesitas hacer es:

 git checkout --orphan newbranch 

De la página man de git checkout :

--orphan <new_branch>

Cree una nueva sucursal huérfana, denominada <new_branch> , iniciada desde <start_point> y cambie a ella. El primer compromiso realizado en esta nueva twig no tendrá padres y será la raíz de una nueva historia totalmente desconectada de todas las otras twigs y compromisos.

FWIW, puede enviar twigs completamente independientes entre repositorys, todo lo que necesita para asegurarse es que el espacio de nombres de las twigs no colisiona.

Entonces, por ejemplo, si tiene 2 repositorys de libros de recetas, cookbook1 y cookbook2 , cree un nuevo cookbook repository, agregue este cookbook como un control remoto en los repositorys existentes usando git remote add cookbook url/to/cookbook , y ahora puede presionar su historial de repository existente en este repository usando cd cookbook1 && git push cookbook master:cookbook1 y cd cookbook2 && git push cookbook master:cookbook2

NOTA: Como ya han señalado otros, tiene más sentido tener repositorys individuales para cada libro de cocina, así que solo use este enfoque si coincide con su caso de uso por completo.

Recomiendo usar repositorys separados para esto, y luego usar Berkshelf para ensamblarlos.