2010-06-26 31 views
66

Tengo un proyecto en git. Me gustaría comenzar una nueva sucursal para agregar una nueva característica importante. Debajo de la rama principal, continuaré agregando correcciones de errores y funciones menores. A intervalos regulares me gustaría llevar los cambios de la rama principal a mi rama de "nueva característica principal". ¿Cuál es la mejor manera de hacer esto? Eventualmente, fusionaré la rama de "nueva característica principal" en la rama principal.Git: obtener cambios de otra rama

Respuesta

49

git checkout featurebranch && git merge master

Puede hacer esto tantas veces como se quiera; no afectará al maestro y podrá hacerlo al revés cada vez que descubra que ha terminado con la rama de características.

+27

'git rebase master 'puede ser más deseable que' git merge master 'para simplificar la integración más tarde de nuevo en la rama principal. – Amber

99
git checkout featurebranch && git rebase master 

Mientras no haya empujado todavía, es mejor reproducir los cambios en la parte superior de la maestra.

Ver:

+1

¿Puedes obtener cambios más recientes con git rebase, o solo con git merge? – keflavich

+0

@keflavich ya que está rebasando 'featurebranch' en la parte superior de master, está obteniendo los últimos commits de' master'. Una combinación sería similar pero hará una integración un poco más compleja con 'master' más adelante. – VonC

+1

hey! Soy un git newb, así que ¿puedes entrar en más detalles en 'siempre y cuando no hayas empujado todavía?' Tengo una rama de funciones que he enviado a un repositorio remoto para realizar una copia de seguridad. ¿Puedo seguir haciendo 'git rebase master', luego comprometer y enviar algo de trabajo a mi rama de características, y luego' git rebase master'? ¡También tengo que fusionar otras ramas de características en mi sucursal! –

Cuestiones relacionadas