¿Puedo modificar una confirmación a la twig principal desde una nueva sucursal local?

Recientemente, envié un file a la twig principal del repository de mi trabajo.

Luego creé una nueva sucursal local para trabajar en otras cosas, pero me di count de que había omitido algo en la confirmación original. Hice los cambios mientras estaba en la nueva sucursal. ¿Se cometería Git? ¿Me gustaría trabajar, o tendré que hacer un nuevo compromiso? Estoy en lo cierto al suponer que git commit –mendar con solo modificar el file en el git de mi nuevo file en mi nueva sucursal local

Su confirmación actual modificará los cambios en la twig actual.

Branch es 'el problema' aquí

La modificación todavía se está confirmando; todavía ocurre en la misma twig, por lo que:

  • comprometerse en el maestro
  • cambiando twigs a "nueva twig local"
  • haciendo cambios allí

Significa que si haces commit de git, agrega un nuevo nodo en "nueva twig local", sin tocar el máster.

Opción 1: git commit – enmienda en la twig principal

$ git checkout master // apply changes here $ git commit --amend 

Esto crea una nueva confirmación REEMPLAZANDO la punta actual de la twig maestra (la comisión previa más probable que hiciste allí, a less que tú u otras personas ya hayan trabajado allí, se haya presionado la confirmación previa, etc.).

Opción 2: git commit en la twig principal

 $ git checkout master // apply changes here $ git commit -m "New commit, new commit message" 

Menos elegante. Pero si empujaste? Muy atractivo.

Opción 3: git commit en "nueva sucursal local" y cherry pick and squash

 // changes applied on local branch creating commit with SOME_SHA $ git checkout master $ git cherry-pick "new local branch name here" 

Esto aplica los cambios introducidos por la confirmación en la punta de la "nueva sucursal local". Puede tener conflictos, si las twigs son demasiado diferentes.

 $ git rebase -i 

Y aquí necesitas aplastar los commits en uno. SOLAMENTE HAZLO SI NO HAS IMPULSADO LOS CAMBIOS.

Un poco sobre la opción superior si me preguntas. 🙂

"¡Oh, no! ¡Empujé!" opciones

O la Opción 2, o … git revert SHA-of-original-commit seguido de hacer TODOS los cambios y git revert SHA-of-original-commit .

Solo lo usaría si algo en esa confirmación original fuera realmente malo / dañino.