unpopulated subrepo submodules submodule recurse git workflow git-submodules

git - subrepo - in unpopulated submodule



Flujo de trabajo de submódulos Git (2)

Es posible que desee probar git subárbol ( enlace alt ) en su lugar. He tenido mucha suerte con él, usando tanto repositorios remotos como ramas limpias (desatadas con la historia master ) en mi proyecto.

En mi proyecto necesito usar un código de terceros, almacenado en varios repositorios Git. Mi proyecto también se almacena en el repositorio Git (separado). Hay varias personas trabajando conmigo en el proyecto principal, y yo soy el encargado.

En proyectos anteriores solía copiar las dependencias manualmente en el árbol de trabajo de Git, agregando un pequeño archivo que especifica la versión que uso.

Ahora esto es bastante incómodo, ya que necesito actualizar diariamente una de las dependencias y, a menudo, aportar código a mí mismo, la mayoría del tiempo junto con cambios en el proyecto principal.

He decidido probar los submódulos de Git para hacer la gestión. Cuanto más los pruebo, más frustrado me siento. Incluso parece que la copia manual es, quizás, mejor.

Estas son algunas de mis preocupaciones:

  • Ya no podemos obtener un estado de repositorio consistente con un solo comando ( git checkout ahora necesita git submodule update --init ).
  • No podemos usar algunas de las herramientas de Git correctamente (el git archive es el más notable).
  • No podemos ver los cambios / diferencias de estado en los submódulos del proyecto principal.
  • Como acabo de encontrarlo, git submodule no funciona con las --git-dir y --work-tree , y requiere un cambio físico del directorio actual al "nivel superior del árbol de trabajo".

Parece que para agilizar nuestro flujo de trabajo de submódulos (que es una operación == un comando) tenemos que escribir un contenedor bastante grueso alrededor de Git. Esto es triste.

Tenga en cuenta que no es una opción alejarse de Git o fusionar el desarrollo del subproyecto por completo en el proyecto principal.

Tal vez estoy usando los git submodules de una manera incorrecta? ¿Hay algún buen tutorial sobre el flujo de trabajo?

Por favor, hable aunque no sepa la respuesta correcta, pero comparta mis preocupaciones. :-)