tag remove remote practices from example create best git git-branch

remove - push local tag to remote git



Git, cambio en la sucursal local afecta a otras sucursales locales? (2)

Tengo una rama maestra

ahora para algunas pruebas otras cosas hice una rama A

I checkout branch A modifica el archivo y cuando vuelvo a registrar master, los cambios también están ahí.

En otros repositorios tengo el comportamiento correcto.


I checkout branch A modifica el archivo y cuando vuelvo a registrar master, los cambios también están ahí.

Los cambios que no están comprometidos no pertenecen a ninguna rama. Están presentes solo en el árbol de trabajo (y en el índice si se agregaron).

Es una buena práctica tener un árbol de trabajo limpio cuando se cambian las ramas para evitar problemas cuando los cambios en el árbol de trabajo entran en conflicto con las diferencias entre las ramas cambiadas.

Debido a que la rama A se acaba de crear y no confirmó nada en ella y tampoco en el master , la rama A apunta al mismo compromiso que el master y el cambio entre A y master no requiere cambios en el árbol de trabajo. Por eso puedes cambiar las ramas sin entrar en conflicto.

Para colocar los cambios que acaba de hacer en una rama (digamos que la rama extraída es A ), debe agregar los valores al índice y luego confirmarlos:

git add . git commit

Lea más acerca de git add y git commit .


Los cambios no comprometidos se moverán de una rama a otra. Para mantenerlos separados, debes stash esos cambios antes de moverte a otra rama. Cuando regrese a su sucursal, puede apply esos cambios para recuperarlos.

Como se ve a continuación:

>$ git status On branch branch_1 Your branch is up-to-date with ''origin/branch_1''. modified: dir/file.rb >$ git stash >$ git checkout <branch_2> >$ git checkout <branch_1> #after finishing your tasks in branch_2 you can go back to branch_1 >$ git stash apply

Ahora recuperarás los cambios que has hecho anteriormente en branch_1