2012-09-05 8 views
7

Digamos que en nuestro repositorio de Git, trabajamos en la rama master por un tiempo. Entonces, la mayoría de nosotros comenzó a trabajar en la rama coolfeature, mientras que algunos desarrolladores continuaron en master.¿Cómo manejar una discontinuidad de Git?

Ahora, los desarrolladores que trabajaron en master han perdido interés, y lo que desarrollaron desde que bifurcamos no es muy importante. Pero nos gustaría que la rama principal de desarrollo se llame nuevamente master. Conceptualmente, básicamente nos gustaría que el árbol se vea así:

*--master--X  ----master 
\    /
    --coolfeature-- 

¿Cuál es la forma más fácil de lograr esto? Realmente no queremos probar fusionar coolfeature, y estamos felices de que el compromiso marcado con X sea totalmente sin sentido.

+0

Efectivamente ma características de esta manera, sería conveniente utilizar un flujo de trabajo que lo permita. Sucursal por característica es lo que debería estar mirando. Google "Branch-per-feature" y debería encontrar un artículo en profundidad sobre cómo administrar un flujo de trabajo como ese. –

Respuesta

3

Realice un empuje de fuerza con la nueva rama principal.

git push -f origin master 

Otros van a buscar el código, y realiza un restablecimiento

git fetch origin master 
git reset --hard origin/master 
+0

Y cómo cambiar el nombre de 'coolfeature' como 'maestro'? 'git branch -d master; git branch -m coolfeature master '? –

+1

Es "renombrado" por la operación 'push': la confirmación apuntada por la rama" master "en el repositorio de origen se establece para ser la del HEAD del repositorio donde se realiza el' push'. – fork0

2

La forma en que lo haría esto y evitar hacer un empuje forzada:

  1. crear una etiqueta para el X comprometerse que no te importa (Verá por qué en un minuto.
  2. Realice un git revert de todos los commits en la rama master desde que se separó de coolfeature. Esto pone al repositorio de nuevo en el estado en el que se bifurcó, pero no lo hace t reescribir la historia, por lo repositorio de nadie se rompe si no consiguieron la nota. coolfeature
  3. Incorporarse a la maestra.

el punto sobre el etiquetado X es para marcar el punto antes que tú todos los cambios. Etiquetas son baratos, y en algún momento es posible que desee saber el punto en el que se retiró y se compromete e hizo ese cambio.

Cuestiones relacionadas