2010-12-17 15 views
5

En general, ¿cuál es la mejor manera de utilizar un repositorio para colaboradores? ¿Deberíamos ambos empujar y tirar del repositorio maestro o tendríamos una rama para cada colaborador y luego fusionarnos cuando sea apropiado?¿Cuál es la mejor manera de usar un git repo para colaboradores?

Disculpas si esta es una pregunta estúpida/básica; git noob aquí ;-) Gracias.

+0

Depende de su proyecto, le recomendaría que haga ramas para cada grupo en el proyecto –

+1

Siempre intente resumir su pregunta en el título. "General git question" no le dice a nadie nada más que las etiquetas. – meagar

+0

Hombre, me gustaría poder obtener la reputación por la respuesta que le di en el IRC;) –

Respuesta

4

Git admite varios flujos de trabajo diferentes. Vea aquí algunos diagramas conceptuales para ver algunas opciones básicas: http://git-scm.com/about/distributed

Para mí, las sucursales no están típicamente relacionadas 1: 1 con colaboradores ... para eso están los repositorios. Las ramas son para mantener los cambios locales a la tarea en cuestión.

+0

y creo que también es bueno para la política, pondré el máster para mi equipo central y sucursales para Colaboradores y si una sucursal funciona, digamos 10 veces más rápido que puedo sacar de él –

+0

Gracias muchachos. Por lo tanto, parece que, en términos de trabajo local, es una buena idea tener una sucursal que contenga solo lo que entra en producción y otra para probar ideas, etc., que luego pueda fusionar. Es tan simple como crear esas ramas y luego, cuando no quiero que los cambios recientes en mi proyecto se comprometan con la rama principal, simplemente cambio a la rama de "prueba" y la comprometo/empuje desde allí. Estoy confundido acerca de la interacción entre la actividad del proyecto local y git. Si agrego algún código a mi proyecto android y lo guardo, esos cambios no tendrán efecto en el repositorio maestro a menos que lo haga? – LuxuryMode

+0

@LuxuryMode: creo que la terminología está nublando el problema un poco. Típicamente "maestro" se refiere a una rama. En un VCS distribuido, no solo puede guardar, sino que también puede comprometerse porque solo se está comprometiendo localmente. Luego, cuando las cosas estén estables, podría presionar para su repositorio publicado (el que otros pueden ver) en cuyo punto, dependiendo de su flujo de trabajo, podría fusionarse con el trabajo de los demás. –

Cuestiones relacionadas