Pregunta ¿Git crea una bifurcación desde el maestro actual que se ha prestado?


Hay una carpeta controlada por git en un servidor donde la rama principal está desprotegida y una pila completa de archivos ha sido modificada y no confirmada. ¿Hay alguna manera de que pueda enviar los cambios a una sucursal separada para que pueda volver a una versión limpia?

es decir, quiero deshacer de manera efectiva todos los cambios de esta persona, pero almacénelos en otra oportunidad, de modo que si esa persona quiere sus cambios, puede cambiar a esa rama.

(Sí, sé que esto no es cómo se diseñó el git para funcionar, ¡pero esa es mi situación!) Cualquier idea muy apreciada.


75
2017-09-21 06:41


origen


Respuestas:


En primer lugar, mover a una rama diferente basada en la CABEZA actual se realiza así:

git checkout -b newbranch

Confirme todos los cambios (suponiendo que no haya archivos recientemente agregados, de lo contrario git add ellos):

git commit -a

Regresa a la rama principal:

git checkout master

Los cambios previamente no comprometidos estarán todos en la nueva rama de bifurcación, y el maestro seguirá estando en el estado en el que se encontraba sin esos cambios.


132
2017-09-21 06:52



Este método es útil:

git checkout -B <new_branch> <start point>

Dónde:

  • <new_branch> es su nueva sucursal (p. my_branch)
  • <start point> es su rama de inicio (master en tu caso)
  • -B crea una nueva rama a partir de <start point>, si ya existe, reinícielo a (no va a fallar -b cuando la sucursal ya existe)
  • a veces -m puede ser útil para especificar cuándo se cambian las ramas, esto realizará una combinación de tres vías entre la rama actual, el contenido de árbol de trabajo (útil para la creación de scripts).

Ver: man git-checkout para más detalles.


14
2018-01-17 14:05



Siempre puedes esconder tus cambios.

git stash
git checkout -b bravenewmaster
git stash apply

También tenga en cuenta que si se compromete con la rama "incorrecta" siempre puede mover esa rama hacia atrás, porque la rama no es más que un puntero a una confirmación.


13
2017-09-21 06:45