No solo los desarrolladores novatos, sino también los profesionales apasionados tienen que recurrir a deshacer cualquier cambio. Y luego, lo primero que me viene a la mente es el comando git revert
, como la forma más segura. Y hay trampas de las que quiero hablarte.
Tomemos una situación simple: un desarrollador decide implementar funciones matemáticas. Pero a la mitad, se da cuenta de que sería bueno descomponer esta tarea, digamos, en dos subtareas:
- Implementar operaciones aritméticas (suma, resta, división, etc.)
- Implementar operaciones numéricas (valor máximo, valor mínimo, módulo de un número, etc.)
Será más fácil de comprobar y probar. Pero ya ha comenzado a implementarlo, ya se han creado los commits, ¿y qué hacer? ¡No reescribas lo mismo!
Considere un árbol de compromiso. Vemos que nuestro desarrollador ha creado una rama functions
, la clase Aritmética , que se encarga de la implementación de las operaciones aritméticas (commit A ), y la clase Numerical , que se encarga de la implementación de las operaciones numéricas (commit N ). En total, hay dos clases y dos confirmaciones.
git revert
Se decidió no reescribir nada, heredar functions
y crear dos ramas numerical
y arithmetic
. Y deshaga las confirmaciones innecesarias en consecuencia. Es decir, ejecutar git revert N
en la rama aritmética y git revert A
en la rama numérica. ¡Ingenioso y sencillo!
El trabajo está en pleno apogeo y solo queda una cosa: apestar al maestro con estas ramas.
? Arithmetic, Numerical!
, git revert
. 4 :
A ⟶ N ⟶ revert A ⟶ revert N
revert
.
git reset
, reset
, revert
. … . , .
git rebase
— git rebase
.
numerical
arithmetic
git rebase -i –root
, pick drop. . numerical
:
.
master
.
, , , (git push
) git
, , .
git, , . , , ?