Cómo agregar correctamente un cambio en Git

Me confundo un poco cómo agregar tu cambio a Git de forma segura. Mi procedimiento es el siguiente. Por favor, avíseme si está mal o necesita modificación:

  • código de actualización en su máquina local
    • git pull & git reset
  • hacer una nueva sucursal
    • git branch XYZ y git checkout XYZ
  • hacer los cambios y luego agregar a la organización de sucursales
    • git add * .txt & git commit – m "XYZ"
  • vuelve a la twig principal en tu máquina local
    • GIT Checkout Master
  • como el código en el repository remoto puede haber cambiado desde su última extracción y, por lo tanto, su maestro no está actualizado:
    • git pull & git reset
  • fusionar el maestro actualizado con su sucursal
    • git merge XYZ
  • comprometa su cambio al repository remoto
    • git pull

¿Debo crear una twig después de todo? ¿qué pasa con esto: (1) actualizar el código en su máquina local * git pull (2) hacer los cambios y luego agregar a la etapa de ramificación * git agregar * .txt & git commit – m "XYZ" (3) como código en repos remoto puede haber sido un cambio desde tu última extracción y por lo tanto tu master no está actualizado: * git pull (4) fusiona el master actualizado con tu branch * git merge (5) compromete tu cambio al repository remoto * git pull

Eso parece muy excesivo y no estoy seguro de por qué lo reset todo el time.

Los pasos generales que sigo son:

  • checkout twig de checkout que quiero trabajar ( pull aquí para asegurarse de que esté actualizada)
  • hacer los cambios que quiero hacer
  • si la twig remota ha cambiado mientras estaba trabajando, pull y combine cualquier cambio
  • add cambios al índice local
  • commit cambios locales localmente
  • push cambios al repository remoto

Cierre pero hay algunos commands que está haciendo innecesariamente, como los restablecimientos. Del flujo de trabajo que describió, esto es en general lo que hará.

 // this part creates a new branch from the most updated master git fetch origin git checkout master git pull origin master git checkout -b XYZ // creates a new branch XYZ // do your work // this part adds your files and commits to your XYZ branch git add *file* // I recommend that you add files one at a time git commit -m "My Commit Message" // the message doesn't have to have a connection to branch XYZ // before you push up to origin again make sure your XYZ branch has the latest master code git fetch origin git pull origin master // fix any merge conflicts after this step // push your XYZ branch up to origin git push origin XYZ // at this point there is usually some type of peer code review or QA process before any new changes are merged into master. // Assuming, the branch and its changes are approved then you would merge to master like so: git fetch origin git checkout master git pull origin master //sync master again in case there have been new changes git merge XYZ git push origin master 

Algunos pueden decir que los commands de git fetch origin son superfluos para este flujo de trabajo, pero creo que siempre es bueno mantener sus twigs de rastreo remoto actualizadas.