3.1 Estado Staging à HEAD / Local [ git commit ]
En el apartado anterior mediante
el ocmando git add iniciamos el trackeo (zona staging) de nuestros
archivos de proyecto en git, en esta zona de staging es donde vamos a estar trabajando
y aquí podríamos incluso rechazar cambios. Ahora imaginemos que estamos
desarrollando una App y que estamos trabajando en un módulo o una función
específica, que forma parte de la app y ya la hemos terminado y queremos pasar
a otra funcionalidad de nuestra app, en este caso, podemos registrar este punto
del desarrollo con el comando git commit.
ESTE ES EL COMANDO QUE VA “DEJANDO RASTRO” DE LOS PUNTOS
CLAVE DEL DESARROLLO. Por tanto, usando
git commit pasaremos del área de Staging a un punto clave concreto en nuestro
desarrollo y quedará registrado, con nuestro nombre, hora etc en el histórico
del REPOSITORIO LOCAL DE
NUESTRA COMPUTADORA, a este estado lo llamamos commited.
Más adelante aprendermos como
movernos entre estos puntos commit para poder trabajar en cualquier punto
temporal del desarrollo que queramos.
LOS TRES ESTADOS ANTERIORES modified, staged y commited,
están ocurriendo en nuestra computadora, el u´timo de los comandos y estados
que vamos a ver ya va a ocurrir enun repositorio online como GitHub.
3.3 Estado commited à Remote [ git push ]
Una vez que hemos guardado algo
en la cabeza del repositorio local de Git mediante el comando git commit, el
siguiente paso es conectarse a la plataforma GitHub, que nos va a permitir
integrar nuestro trabajo y tener el código guardado es ejecutar el comando git push. Aquí
tendremos que agregar la url del repositorio, nuestras credenciales etc, una
vez ejecutemos este comando se subirán los cambios de nuestro repositorio local
al repositorio remoto. A este estado lo
llamamos remote.
3.4 COMPAÑEROS DE TRABAJO Y
CAMBIOS [ descargando pushes git pull ]
Imaginemos que un compañero de
trabajo ya hizo un cambio y que nosotros debemos continuar haciendo nuestra parte
donde él lo dejo. Para ello primero deberemos descargar la versión que el
compañero a “pusheado”.
Cuando queramos descargar algún
push o versión del directorio remoto a nuestro directorio local usaremos el comando
git pull.
Comenzando
Lista de
comandos que vamos a ejecutar en esta sección
git
add
Recordemos que en nuestra carpeta de proyecto Git ya ha detectado dos cambios ya que creamos los archivos gitignore y README.
Vamos a
agregar estos cambios del archivo al satged con el comando git add. Tenemos dos
opciones:
·
Agregar los cambios de un solo archivo al staged
git add archivo/directorio
·
Agregar todos los cambios de todos los archivos
al staged
git add .
en este caso optaremos opr la segunda opción de forma que pasaremos todos los archivos al estado Staged, abrimos nuestra consola y nos situamos en la carpeta del proyecto
Juan@DESKTOP-TJ9KCN3 MINGW64 ~
$ cd desktop
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop
$ cd youtube-git
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
Ejecutamos el commando git add
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$ git add .
Al ejecutarlo podremos ver que en
VS code, si hacemos clic en el icono de git veremos que nos ha cambiado esos
dos archivos al estado Staged (Staged Changes) y nos indica que no hay más
cambios a trackear (changes 0):
PRIMER
COMMIT
Si yo ahora
decidiera hacer mi primer registro oficial en este punto, o lo que llamamos
primer commit ejecutaría el comando:
git commit
Al hacer un
commit debemos escribir un mensaje descriptivo del cambio en el archivo de
configuración, si hacemos este comando se me abrirá VSCode (ya que lo tengo
configurado como editor principal) y cuando salve y cierre VSCode se creará ese
primer commit ya en el estado commited.
Si no queremos
que se abra el archivo de configuración podemos ejecutar el siguiente atajo del
comando anterior:
git commit -m “mensaje descriptivo
del cambio”
Vamos a verlo
de las dos formas:
1 git commit
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$ git commit
Al ejecutarlo
la consola se pone en modo espera hasta que el archivo de configuración se
abra:
Una vez que se
abre VSCODE podemos ver el archivo donde se nos pide el mensaje del commit:
Si te fijas el
cursor aparecerá en la primera línea, es en esa primera línea donde yo tengo
que escribir mi mensaje descriptivo de mi commit.
Mi primer commit
# Please enter
the commit message for your changes. Lines starting
# with '#' will
be ignored, and an empty message aborts the commit.
#
# On branch
master
#
# Initial commit
#
# Changes to be
committed:
# new file: .gitignore
# new file:
README.md
#
Si yo ahora salvo y cierro el
archivo ocurren varias cosas.
1 La consola ya me ha detectado
el commit y me da si Id y el mensaje que yo le he puesto, también me indica que
se agregaron dos archivos y que hubieron 0 inserciones y 0 eliminaciones (en amarillo).
Tabién se creó la modificación
del tracking para el archivo gitignore y el README (en violeta)
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$
git commit
[master (root-commit) b18e9a3] Mi
primer commit
2 files changed, 0 insertions(+), 0
deletions(-)
create mode 100644 .gitignore
create mode 100644 README.md
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$
2 Si nos fijamos en nuestro
VSCODE ha desaparecido el indicador con el numero 2 que teíamos en el icono de
git y además nos da la opción de publicar esta rama (pasar ya al estado remoto)
de nuestro repositorio:
En este punto ya hemos realizado
los tres primeros cambios de estado que son exclusivamente locales
-
Working directory à git add
-
Index /Staging à git commit
-
Head / Local à Ya están listos para
pasar al remoto con git push estado remote
2 git commit atajo de mensaje
Ya hemos visto
como hacer el commit, como hemos dicho vamos a ver la segunda forma de hacer un
commit a travs del shortcut
git commit -m “mensaje descriptivo
del cambio”
Para poder
ejemplificarlo necesito hacer que git detecte algún cambio en mis archivos para
poder volver a hacer commit y darle un nuevo nombre esta vez con el shortcut,
así que por ejemplo vamos al archivo README.md y vamos a añadir algún
comentario y algún markdown:
Si yo salvo ya
he generado un cambio que git va a reconocer de inmediato, nada más salvar me
aparece en el icono de git un número 1 (un cambio), además el archivo README.md
cambia de color a un color anaranjado:
En este momento
si hago un git add . en mi consola lo
guardo todo al Stage
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$ git add .
Ahora vamos a crear otra vez un commit, pero esta vez usando el shortcut del comando commit, es decir con el flag -m y el mensaje:
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$ git add .
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$ git commit -m "Segundo commit, agergando contenido al README"
doy enter:
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
$ git commit -m "Segundo commit,
agergando contenido al README"
[master f2c921e] Segundo commit,
agergando contenido al README
1 file changed, 3 insertions(+)
Juan@DESKTOP-TJ9KCN3 MINGW64 ~/desktop/youtube-git (master)
Podemos ver que ya no se nos ha
abierto el archivo de configuración de VSCODE y me ha creado otro commit
registrado en el HEAD de mi repositorio local y listo también para publicar en el repositorio
remoto.