Tutorial de Git - Flujo de trabajo de Git

Jinku Hu 30 enero 2023
  1. git add
  2. git commit
Tutorial de Git - Flujo de trabajo de Git

Como acabamos de aprender, añadir un archivo o confirmarlo es básicamente un proceso de dos pasos.

  • git add

    Añada los archivos al área de preparación. Como el comando de abajo,

       $ git add test1.txt
    

    Se añade file1.txt desde su copia de trabajo al área de preparación y está listo para confirmar el repositorio. Siempre que creamos un fichero, está en nuestra copia de trabajo, está en el ordenador local y después del comando git add, va al área de preparación.

  • git commit

    Toma todos los archivos de su área de preparación para empujarlos al repositorio.

       $ git commit -m "commit message"
    

    Normalmente añadimos un mensaje para describir qué es lo que se confirma, como lo que hemos cambiado en los ficheros o proyectos, por lo que podríamos obtener la información de registro de esta confirmación en el futuro.

git add

Después de haber cambiado un archivo y haberlo guardado, este archivo en nuestro ordenador es diferente del archivo en nuestro repositorio, porque en el repositorio sigue siendo el mismo contenido antes de esta modificación. Si escribe git status, podrá ver que Git sabe que su fichero ha sido actualizado.

$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   test1.txt

no changes added to commit (use "git add" and/or "git commit -a")

Como sugiere Git, usamos git add para actualizar los archivos que serán confirmados.

$ git add test1.txt

Ahora, puede confirmar este archivo actualizado desde el área de preparación al repositorio.

A veces, hemos actualizado múltiples archivos y por supuesto podríamos añadir archivos de esta forma,

$ git add test1.txt test2.txt test3.txt

Pero te trae un gran dolor de cabeza si tienes un montón de archivos o el nombre del archivo es demasiado largo. Git tiene un atajo para añadir todos los archivos actualizados y los no rastreados al área de preparación,

$ git add .

Aquí, . significa todos los archivos que son diferentes del repositorio.

git commit

Hemos mostrado cómo usar git commit cuando hemos introducido otras características de Git. Básicamente, git commit empuja el área de preparación al repositorio, y se le recomienda encarecidamente que añada el mensaje de confirmación para describir lo que ha cambiado para esta confirmación específica. Puede recuperar toda la información de su registro de confirmación con el comando git log.

Confirmar directamente al repositorio

Antes de lo que comprometemos, necesitamos añadir cambios en el área de preparación. Entonces podríamos comprometerlos. Pero realmente no hay necesidad de agregarlos al área de preparación. Primero, porque sabemos que estos cambios los queremos en nuestro proyecto final, en nuestro repositorio o en el servidor para que todo el mundo tenga archivos actualizados.

Así que lo que podríamos hacer es comprobar primero el git status, para saber qué es lo que se ha modificado en la copia de trabajo. Entonces podríamos usar directamente git commit antes incluso de añadir estas modificaciones al área de preparación.

$ git commit -a -m "commit message here."

Lo que hacemos aquí es usar un atajo en lugar de añadirlo al área de preparación. Pero esto sólo es útil en ciertas situaciones, siempre que use este comando, debe tener cuidado porque va a coger todo lo que hay en su copia de trabajo y empujarlo directamente al repositorio.

Enmendar un commit

Podríamos haber llegado a una situación después de un commit, encontramos una errata u otros pequeños fallos en el código. Por supuesto, podría revisar los códigos y confirmar los cambios en el repositorio de nuevo. Pero lo que podríamos hacer es reescribir el último commit, y el último commit se reescribirá con la nueva modificación.

La bandera --amend después de git commit le dice a Git que esta confirmación reemplazará la anterior que ya no estará en su rama de trabajo.

$ git commit --amend -m "new information is updated"
Atención!
Nunca modifique un commit que no sea la más reciente, porque otro miembro del equipo u otras ramas tienen la versión basada en esa confirmación. Después de enmendar, pierden su punto de referencia y es difícil recuperarse de él.
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook