Cómo deshacer un compromiso y no arruinarlo

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 functionsy crear dos ramas numericaly arithmetic. Y deshaga las confirmaciones innecesarias en consecuencia. Es decir, ejecutar git revert Nen la rama aritmética y git revert Aen 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, , . , , ?




All Articles