[MÚSICA]
Exploremos ahora algunos comandos básicos de Git que son muy útiles
para nosotros en la especialización.
Hay mucho más que aprender sobre Git de lo que veremos en este ejercicio.
Para comenzar, ve a una ubicación que te venga bien en tu computadora
y crea una carpeta llamada git-test.
Abre esta carpeta en tu editor favorito.
Esta es la carpeta git-test, que acabo de crear, abierta
en Visual Studio Code.
Añado un archivo a la carpeta llamado index.html,
ahora puedes ver que he añadido
algo de código en index.html.
Guardaré los cambios.
Ahora me dirijo a la línea de comandos.
en la consola, dirígete a la carpeta git-test,
luego, crea un repositorio de git en la carpeta
Para hacerlo en la línea de comando escribe git init.
La carpeta está configurada ahora como un repositorio git.
git init es el primer comando que hemos aprendido.
Este comando inicializa la carpeta actual como un repositorio de git
y una vez inicializada, la carpeta se marca como master.
Esta será la rama principal de mi git.
Por ahora no nos preocuparemos de las ramas.
no trabajaremos con las ramas en este curso.
Solo trabajaremos con la master branch, en este curso.
La carpeta fue marcada como master.
Este es el punto inicial del repositorio.
El siguiente comando que utilizaremos es git status.
Si escribes git status en la línea de comandos,
te dirá el estado actual de la carpeta.
Hagámoslo en la línea de comandos y veamos qué muestra.
En la línea de comandos, escribe git status
y lee la información que aparece en la ventana de comandos.
Dice on branch master, esa es la rama maestra que añadimos.
Dice, untracked files, y muestra index.html marcado en rojo.
En tu computadora específica, puede usar colores diferentes
o representar esto de manera diferente o esto es lo que muestra en mi Mac.
Este archivo index.html que acabamos de crear en esta carpeta
no está añadido a nuestro repositorio git.
Añadimos ese fichero al repositorio git.
Para hacerlo, decimos, git add, y simplemente puedes poner punto,
lo que significa que se agregarán todos los archivos del directorio actual
a lo que se llama la staging area de mi repositorio git.
Si vuelvo a escribir git status,
verás que index.html ahora está en marcado en verde.
Y dice, changes to be committed y luego muestra el nombre del archivo
que significa que este archivo está listo para commit en mi repositorio git.
El siguiente comando que veremos es git add.
Con git add podemos agregar archivos o carpetas a la staging area.
Una vez que se agrega a la staging area, haces commit de los últimos cambios
del estado de nuestra carpeta a nuestro repositorio git.
Eso significa que cuando haces git commit,
lo que este comando hará es confirmar el actual
estado de nuestras carpetas en nuestros repositorios git.
Todos los archivos que existen en este momento,
una vez que están en la staging area usando git add se hará commit
al repositorio git cuando ejecutemos git commit.
En este punto cuando ejecutamos git commit, entonces nuestro estado
inicial cambiará a primer commit en el repositorio git.
Sigamos y hagámoslo.
De vuelta en el símbolo del sistema, escribe git commit.
Y entonces podemos incluso añadir un mensaje al commit.
Voy a decir git commit -m "first
commit" porque este es el commit al repositorio git.
Cuando lo hago, dice, se ha agregado 1 archivo al repositorio git
y alguna otra información se escribirá en la ventana de comandos.
Chequeemos nuevamente, git status
y ahora ves que dice nothing to commit, el directorio de trabajo está limpio.
Significa que el estado actual de mi directorio de trabajo
o carpeta de trabajo se ha hecho commit al repositorio git,
se ha hecho commit al repositorio git.
Puedo escribir el siguiente comando llamado git log --oneline,
y ver que muestra un número, un número de ocho dígitos,
y también muestra el mensaje que pusimos en el commit diciendo "first commit".
Ese es el registro de todas los commits que se han puesto en el repositorio git.
Volviendo a nuestro próximo comando git,
vimos que git log --oneline
nos mostrará un breve registro de todos los commits.
Si simplemente escribes git log
muestra información mucho más detallada de todos los commits.
Pero esto es suficiente para tener la información que necesitamos.
Ahora regresemos a nuestro editor, Visual Studio Code,
voy a agregar más cambios al archivo index.html.
He cambiado el archivo index.html.
Déjame agregar otra carpeta debajo de la carpeta git test,
crearé una subcarpeta llamada templates, y dentro
de la carpeta templates, voy a crear otro nombre de archivo, test.html.
Esto es solo para mostrarte cómo git
puede hacer commit en toda la jerarquía de carpetas en el repositorio.
Con test.html ahora allí, solo voy
a copiar todo mi index.html
en mi test.html y guardo los cambios.
Volviendo a la línea de comandos,
Chequeamos el estado del repositorio git y esta carpeta.
Escribe git status, muestra que
el archivo index.html, que ya hemos enviado antes al repositorio,
se ha modificado, hay una versión más reciente del archivo index.html.
Muestra que hay algunos archivos
desatendidos en esta carpeta llamada templates.
Agreguemos todos estos cambios a la staging area
y de nuevo, escribe git add.
Todos estos archivos se agregan a la staging area.
Nuevamente, verificamos el estado.
Verás que los cambios se han agregado a la staging area.
Todos los archivos se han añadido a la staging area.
Hagamos un commit más,
diría git commit -m "second commit"
y echamos un vistazo al registro.
Si revisas el registro, verás que hay dos commits
en mi repositorio git, el primer y el segundo commit.
Y note que cada uno de ellos tiene un número diferente.
Si deseas ver los detalles completos del registro,
puedes escribir solo, git log y recibirás más detalles.
Que te podrían interesar.
Observa que --oneline solo da los primeros
caracteres del número de commit.
Eso es suficiente para trabajar con ellos.
Permíteme volver a Visual Studio y agregar una más.
Una línea más al archivo index.html.
El archivo index.html ha sido modificado.
Y guardamos los cambios.
Volviendo a la línea de comandos, hago git status
que muestra que el archivo index.html ha sido modificado.
Lo agregamos a la staging area, y luego hacemos un tercer commit.
Entonces, digamos, git add,
git status,
ves que se ha agregado la versión modificada de index.html.
Podemos decir git commit.
"third commit" y git log --oneline,
y ves que hay tres commits en el repositorio.
El repositorio contiene instantáneas de tres puntos diferentes,
al final del primer commit, al final del segundo commit,
y al final del tercer commit.
También podemos revertir los cambios,
podemos revertir el repositorio a una versión anterior.
Podemos extraer un archivo de un commit anterior,
y luego reemplazar el directorio existente con el antiguo commit.
Vamos a ver cómo podemos trabajar con estas cosas
aprendiendo un par de comandos más.
En esta etapa, el archivo index.html está en su estado actual.
Puedes notar que tiene un h1 y dos ps.
Veamos ahora el siguiente comando git.
El siguiente comando git que vamos a aprender es git checkout.
Este comando ckeckout nos permite chequear un archivo
de un commit anterior en nuestro repositorio git.
Si no nos gusta el archivo actual que tenemos en nuestra carpeta
queremos volver a una versión anterior del archivo,
siempre podemos reemplazar el archivo de un commit anterior
con el commit actual y luego continuar trabajando con ese archivo.
Hagamos uso de esto y veamos algunos cambios más en nuestro repositorio git.
Volviendo a nuestra línea de comandos, recordamos que, entre el segundo
y tercer commit, realicé cambios al archivo index.html.
Supongamos que quiero volver al archivo index.html de mi segundo commit.
Simplemente puedo decir,
git checkout 900cfcf.
El número del commit identifica al commit concreto,
y luego puedo poner index.html, y notarás que,
ese archivo anterior ahora está reemplazado en mi directorio de trabajo actual.
Yendo a mi código en Visual Studio,
notarás que mi archivo index.html ha vuelto al funcionamiento anterior,
el cambio que hice antes del tercer commit ha desaparecido.
Mi archivo index.html ha sido restaurado a su estado al final del segundo commit.
En la línea de comandos, si intento git status,
notarás que este archivo index.html que fue revertido
a lo que era al final del segundo commit, ahora ya se ha llevado a la staging area.
Usando git checkout, sacaremos una versión anterior del archivo,
y luego reemplazamos lo que está en el directorio actual,
y también lo llevará a la staging area.
Si lo hago y me doy cuenta de que esto es lo que quiero,
puedo hacer otro commit en este punto.
Y ese archivo puede ser confirmado como el cuarto commit.
Pero supongamos que no me gusta, quiero volver
al archivo index.html al final del
tercer commit entonces lo que puedo hacer es poner git reset,
HEAD e index.html.
En este punto, lo que sucede es que index.html,
la versión modificada que tenía con git checkout aún está allí, pero
este archivo está fuera de la staging area.
Si regresas y miras el index.html en tu editor,
aún mostrará el estado al final del segundo commit.
Porque habíamos recuperado el archivo usando checkout.
Si deseas revertirlo a lo que era al final del tercer commit,
hacemos un checkout más desde el tercer commit yendo
a la ventana de comandos, escribe git status
y verás que index.html está marcado como modificado.
Pero también muestra esta instrucción particular.
Dice git checkout --
y el nombre del archivo, para descartar los cambios en el directorio de trabajo.
Esa es una forma de descartar los cambios que has realizado en un archivo
determinado correspondiente al commit anterior.
Permíteme restaurar index.html de nuevo a lo que era al final
del tercer commit.
Para hacerlo, simplemente podrías decir git checkout
-- index.html y luego,
si hago git status, muestra que mi directorio está limpio.
Y básicamente mi directorio ha sido restaurado
al estado del final del tercer commit.
Al ir al archivo en Virtual Studio Code, veo que
su archivo ha sido restaurado a cómo estaba al final del tercer commit.
Esta es una forma que puedes, si has realizado cambios en tu
archivo después del commit y deseas descartar esos cambios,
simplemente puedes recuperar el archivo del último commit, y todos
los cambios que hayas realizado después del último commit se descartarán en el acto.
Estos son algunos comandos básicos que son muy útiles
para ti a medida que avanzas en los cursos de esta especialización
porque es posible que desees hacer commit al final de cada ejercicio.
Y a medida que avances, tendrás una visión
del estado de tu carpeta al final del ejercicio anterior.
De esa manera, si realizas un nuevo ejercicio y descubres que has
cometido errores y deseas volver al commit anterior,
siempre tienes una manera de hacerlo usando los comandos que acabamos de ver.
Con esta comprensión básica de estos pocos comandos git,
podrás avanzar en la comprensión
y el uso de git en los cursos de esta especialización.
Hemos revisado git reset para un archivo específico o git reset en general.
Si escribes git reset, lo restaurará de nuevo al último commit.
Restablecerá la staging area al último commit,
sin perturbar los cambios que has realizado en tu directorio de trabajo.
Una vez que hagas reset, puedes recuperar
la versión anterior del archivo que has confirmado en el commit anterior.
Esta semana, puedes restaurar tu carpeta donde estaba
en el punto de partida del commit anterior.
A veces, cuando haces un ejercicio y te das cuenta de que has fallado en algo.
Siempre tienes una forma de volver a una versión anterior.
Con estos comandos, creo que ya está todo listo para continuar
y usar git en los cursos de esta especialización.
Al final de este ejercicio, ¿Did you Git it?
[MÚSICA] Tres meses más tarde, los viajes de Lomax lo llevan a Marshall, Texas.