2010-10-26 11 views
16

Acabo de empezar a usar Git recientemente y estaba leyendo sobre las mejores prácticas de Git y parece que la más común es nunca trabajar en su rama principal, siempre crear una rama separada y trabajar en eso. Me pregunto si esto solo es cierto cuando trabajo con otros desarrolladores o si esto es algo que debería hacer si soy el único desarrollador en el proyecto. Si es así, ¿por qué? ¿Y con qué frecuencia debo fusionar la nueva sucursal? ¿Por qué es eso diferente a simplemente trabajar fuera de la rama principal y realizar cambios cuando sea necesario?¿Hay alguna razón por la que deba trabajar desde una sucursal en Git si soy un desarrollador solitario?

¡Muchas gracias por su sabiduría!

Respuesta

23

Puede ser una buena idea trabajar en una sucursal si, por ejemplo, está agregando una característica nueva que no estará lista durante algunas semanas. Mientras trabajas en tu nueva función, la aplicación Live aumenta. ¿Qué haces si no has ramificado (o etiquetado) desde el enlace troncal (en este caso, la rama de código que admite Live)? usted tiene que volver todo su trabajo y mantener copias de sus cambios, listo para golpear de nuevo en cuando se ha resuelto el problema directo, malos tiempos ...

+0

perfecto, me ganaste – DOK

+1

Esto es exactamente lo que hago y me ha sido bastante útil. La creación, fusión y rebase de las sucursales es fácil y hace que agregar funciones nuevas sea sencillo. De hecho, si termino en el camino equivocado y decido que quiero abandonar la característica, o hacerlo de otra manera, simplemente revise 'git checkout master' y luego cree otra rama. –

+0

sí, ya puedo ver dónde trabajar en una sucursal me habría ahorrado algo de tiempo en el pasado reciente. ¡Gracias! – BeachRunnerFred

9

Sí,

Trabajando a partir de ramas le permite aislar los cambios que no estás listo para la integración en tu rama estable.

Por ejemplo: he estado trabajando en una nueva característica importante en una sucursal separada durante varios meses. Si no estuviera manteniendo una sucursal por separado, hubiera sido mucho más difícil para mí emitir actualizaciones menores y correcciones.

7

La belleza de git es que no tiene para hacer cualquier cosa. No hay una "mejor" manera de hacer algo porque depende de usted, su situación, su proyecto, etc.

Así que, no, no haga nada que no tenga sentido para usted. Dicho esto, mantener las características en las ramas temáticas puede ser bueno para el futuro: usted lee el código y confirma el historial. Y, como han dicho otros, definitivamente mantenga las cosas en las ramas temáticas si está trabajando en dos cosas en paralelo.

+3

El mejor punto en la discusión hasta el momento. Git incluso te permite actuar como si tuvieras un sistema de repositorio único de fashshioned antiguo si lo deseas. –

+3

Gracias, y estoy de acuerdo. La mejor parte del control de revisión distribuido es que puedes trabajar en el estilo que quieras y no tener que luchar con la herramienta al respecto. – rfunduk

2

Una buena razón que se me ocurre es que tener una rama principal le permite señalar usuarios al maestro para extraer versiones, en lugar de tener que extraerlas directamente de su repositorio de trabajo. Eso le permite sentirse libre de realizar cambios en su repositorio de trabajo que pueden no estar del todo listos para el horario de máxima audiencia (p. Ej .: no completamente probado).

Cuestiones relacionadas