Git utiliza fuente remota durante el empuje

Tengo un repository git local, un repository "central" en github. Estoy trabajando en una parte de un proyecto, mientras un amigo está trabajando en una pieza relacionada que está en un repository completamente separado, ¿es posible para mí simplemente vincular directamente al repository de mi amigo?

Por ejemplo, la aplicación se llama widgets. Tengo todo mi código en widgets / app / mycode y mi amigo está escribiendo el código que va en widgets / plugins / awesome / hiscode .

Deseo poder tener siempre http://github.com/mycode/widgets/plugins/hiscode para ser un enlace directo o clonar en http://github.com/hiscode/awesome ?

Podría ser posible que me falta algo básico en mi pregunta o conocimiento de git, de ser así, por favor pregunte, y estaré encantado de intentar completar los espacios en blanco.

Me estoy desplegando en mi sitio de producción a través de capistrano, ¿entonces tal vez un script de algún tipo sea más fácil? ¡No lo sé (es por eso que estoy publicando)!

Como se menciona en los submodules de git, naturaleza verdadera , esto es posible al declarar en widgets/plugins/awesome/hiscode un submodule que hace reference a http://github.com/hiscode/awesome .

A continuación, puede extraer regularmente de esos submodules sus últimos cambios para actualizarlos, siempre que vuelva a comprometerse desde el directory widgets/ (que es su proyecto "principal", que es el proyecto que contiene el submodule).
De esta forma, su proyecto principal registrará el nuevo SHA1 de los submodules actualizados.

Incluso puede desarrollar directamente en ese submodule, presionando directamente a http://github.com/mycode/widgets/plugins/hiscode (mientras sigue cometiendo widget, nuevamente para grabar el nuevo SHA1).
Pero debe recordar extraer una twig primero dentro de ese submodule, porque una "actualización de submodule" siempre lo inicializa / actualiza como un encabezado separado .

Parece que los submodules serían una buena solución. No estoy 100% seguro en la url github, pero esto debería acercarte:

git submodule add http://github.com/hiscode/awesome plugins/hiscode

Para actualizar el submodule y asegurarse de que aún puede comprometerse con el "increíble plugin", ejecutará lo siguiente desde la raíz de su repository:

git submodule update
cd plugins/hiscode
git checkout master

Tenga en count que básicamente está anidando repositorys de git en este punto, no REALMENTE haciendo una parte de otra.

Para usuarios SVN: Esto es similar a la propiedad svn: externals de subversión con un número de revisión específico. Ejecutar el script anterior es lo mismo que actualizar el número de revisión en la propiedad svn.