2011-10-17 18 views
8

Soy barato. No quiero pagar muchas cuentas de Github.Uso de un único repositorio de git para proyectos múltiples de git

Tengo una estructura de proyecto que se parece a esto.

  • /repo es la raíz del proyecto.
  • /repo/proyecto1 es donde tengo un proyecto Java
  • /repo/herokurails1 es donde tengo un proyecto de Ruby/Rails que despliega a heroku.com (a una aplicación llamada heroku HR1-fubar. heroku.com)
  • /repo/herokurails2 es donde tengo otro proyecto de Ruby/Rails que se implementa en heroku.com (en una aplicación heroku llamada hr2-fubar.heroku.com).

Todos los proyectos (project1, herokurails1 y herokurails2 están en desarrollo activo).

Me gustaría tener un repositorio en algún lugar de alojamiento git como github.com o incluso un servidor git local en la oficina. Cada vez que el código cambie en cualquier lugar en /repo/, quiero poder ejecutar "git push github master" y hacer que todo mi árbol /repo/ sea enviado a github.

Sin embargo, también me gustaría poder implementar mis aplicaciones de rieles en heroku.com sin empujar todo el árbol repo/* insertado en cada aplicación heroku. p.ej.

  • /repo/herokurails1> git push heroku maestro sólo implementar el proyecto herokurails1 a heroku sin empujar a cualquier otro código en/repo/*
  • maestro /repo/herokurails2> git push heroku solo desplegaría el proyecto herokurails2 en heroku también sin presionar ningún otro código en/repo/*.

¿Esto es posible? ¿Debo configurar algo especial para que esto suceda? ¿O estoy atrapado con múltiples repositorios git?

+6

Pruebe [BitBucket] (https://bitbucket.org/). Admiten repositorios privados, ilimitados y privados y acaban de agregar el soporte de Git. – vcsjones

+0

posible duplicado de [Implementar un subdirectorio en Heroku] (http://stackoverflow.com/questions/3081699/deploy-a-subdirectory-to-heroku) – millimoose

+3

Encarrilar proyectos múltiples en un único repositorio git es una mala idea. No lo hagas –

Respuesta

3

Esto se volverá muy difícil de manejar muy rápidamente (sobre todo porque Git no le permitirá presionar los subdirectorios pull como svn)

Me gustaría no utilizar Github para almacenar proyectos. Las herramientas como Bitbucket o CodebaseHQ tienen diferentes modelos de precios que pueden adaptarse mejor a usted y darle la simplicidad que necesita.

Alternativamente, un vistazo a algo así como Gitosis, que puede ser hecho para ser muy Github-esque a través de herramientas como Gitlab

1

Si lo desea, puede utilizar unfuddle o bitbucket si no desea pagar nada. Use submódulos para alojar archivos grandes como imágenes, dlls de terceros, videos, etc. en github. Estos no tendrían IP.

2

Usted podía uso git subtree localmente para mantener un repositorio Git que se separó de su mayor repo repositorio, y empuje de ese repositorio dividida. Francamente, sin embargo, usaría uno de los servicios gratuitos Adam Dymitruk suggests o simplemente pagaría un poco más a GitHub. Ofrecen un servicio excelente, después de todo ...

+0

Soy barato. Pero mi mayor motivación es poder implementar un proyecto en heroku sin implementar también todo lo demás en el repositorio. –

+0

Probaría el subárbol 'git' en ese caso, parece una buena opción para lo que quieres hacer. –

0

la forma de poner cada proyecto por separado en una rama diferente? funcionó bien conmigo hasta ahora. Tengo un repositorio privado para proyectos web y cada rama comienza con el maestro que tiene mi plantilla de proyectos web (también podría ser una rama vacía) y cada vez que tengo un nuevo proyecto simplemente creo una rama maestra con el nombre del proyecto y sigo trabajando bien .

Cuestiones relacionadas