2010-04-03 40 views
6

Tengo dos proyectos .Net diferentes, alojados en github.Compartir código entre dos proyectos de git diferentes

Me gustaría crear una biblioteca compartida "comunes" para los dos proyectos.

¿Cómo debería estructurar mi repositorio para facilitar el intercambio?

Idealmente, un cambio en esta biblioteca común en un proyecto podría fácilmente insertarse en el otro proyecto. Prefiero mantener el código editable de los dos proyectos (dentro de Visual Studio) y no incluirlo como una biblioteca. ¿Hay mejores prácticas para esto?

Respuesta

6

Puede utilizar los submódulos de Git: https://git-scm.com/book/en/v2/Git-Tools-Submodules

+0

Usted 'git submódulo agrega path-to-shared-repository' en cada repositorio. Se creará un subdirectorio con el nombre del repositorio compartido. Esta pregunta es relevante aquí: http://stackoverflow.com/questions/1462754/what-is-the-advantage-of-using-git-submodules-over-having-a-repo-inside-another –

+1

Esto es tan raro . Solo quería arreglar un enlace roto. No pude hacerlo porque era demasiado pequeño, no me preguntes por qué. No sabía qué agregar, porque no sabía sobre los submódulos. Entonces, agregué una oración, para poder arreglar ese enlace roto. Fue aceptado. Más tarde, cuando traté de reemplazar esa frase inútil por algo más útil, fue rechazada. Entonces, nos quedamos con esa frase inútil. –

0

submódulos de Git no es probablemente su respuesta. Vea este blogpost que entra en más detalles: http://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

+0

Con respecto a git-subárbol (de su referencia): La desventaja es que todos sus archivos de subproyecto están presentes en el repositorio principal, lo que significa que está abandonando algunas de las razones para dividir originalmente sus repositorios de proyectos: tener un repositorio canónico para un conjunto dado de código compartido. Si alguien realiza un cambio en un subproyecto, pueden fusionarlo con otros cambios a nivel local, pero tendrían que dividir explícitamente ese cambio en su proyecto si quisieran compartirlo con los proyectos. –

+0

Pero estoy de acuerdo en que algunas otras opciones https://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/ son quizás mejores. –

Cuestiones relacionadas