2012-04-06 29 views
32

Tengo una rama con fuentes reales y no hice ningún commit por mucho tiempo para dominar, y por el momento está completamente desactualizado. Quiero simplemente reemplazar el contenido del maestro con el contenido de mi sucursal. Una forma de hacerlo es verificar las ramas y el maestro, eliminar el contenido del maestro y copiar el contenido de la rama a la maestra, y después de eso, enviar el resultado al máster.Git - move branch to master

Funciona, pero creo que tiene que haber algún comando de git para hacerlo de una manera más simple.

¿Alguien sabe cómo hacerlo?

+0

¿Cómo sabes que no hay nada de valor en master? Puede consultar con 'git log branch..master' para ver si hay algún commit en master no en branch. Si hay alguno, entonces 'git checkout master; git merge branch 'incluiría los cambios en esos commits. – Kent

Respuesta

56

Se puede utilizar el comando siguiente para que el punto principal a una nueva ubicación:
git branch -f master branchToMoveMasterTo

Lo que esto está haciendo en realidad es la creación de una nueva rama llamada master que apunta a branchToMoveMasterTo. Como ya tenemos una rama llamada maestra, necesitamos la bandera -f para decir que queremos eliminar la original master

+0

¡Esta respuesta debe ser definitivamente aceptada! – user984621

+4

gracias jesus – dezman

+0

Esto funciona bien. Pero, ¿hay alguna forma de preservar la historia del viejo maestro? Quiero decir, ¿cómo puede parecer una confirmación común, pero cambia todo? –