Ejercicio: Inicio de un proyecto
Ahora que ha dedicado tiempo a descubrir los comandos de Git fundamentales, pasemos a crear un proyecto en Git.
En los ejercicios que siguen, va a agregar un sencillo archivo HTML al árbol de trabajo para empezar a usar Git. Luego va a realizar algunos cambios en el directorio y a aprender a confirmar los cambios.
Creación y adición (almacenamiento provisional) de un archivo
Git no hace mucho con los directorios vacíos, así que vamos a agregar un archivo al árbol de trabajo para que actúe como página principal del sitio web de fotos de gatos.
Asegúrese de que la sesión de Cloud Shell sigue activa y de que se encuentra en la carpeta del repositorio de nombre Cats.
Use un comando
touch
para crear un archivo denominado index.html:touch index.html
touch
actualiza la hora de la última modificación de un archivo, si este existe. Si el archivo no existe, Git crea un archivo vacío con ese nombre de archivo.Ahora, use
git status
para obtener el estado del árbol de trabajo:git status
Git responde informándole de que no se ha confirmado nada, pero el directorio contiene un nuevo archivo:
No commits yet Untracked files: (use "git add <file>..." to include in what will be committed) index.html nothing added to commit but untracked files present (use "git add" to track)
Observe que
git status
ofrece sugerencias sobre lo que puede hacer a continuación. Git puede configurarse para que sea menos detallado, pero en esta fase, cuanto más, mejor.Use
git add
para agregar el nuevo archivo al índice de Git, seguido degit status
para comprobar el estado. No olvide el punto al final del comando. Este indica a Git que indexe todos los archivos del directorio actual que se han agregado o modificado.git add .
Ahora se ha almacenado provisionalmente una confirmación. El índice de Git es un área de almacenamiento provisional para las confirmaciones. Se trata de una lista de todas las versiones de archivo que van a formar parte de la siguiente confirmación que se haga.
En lugar de
git add .
, podría haber usadogit add index.html
, porque index.html era el único archivo nuevo del directorio. Pero si se hubieran agregado varios archivos,git add .
los habría incluido todos.Por último, vuelva a usar
git status
para asegurarse de que los cambios se han almacenado provisionalmente de forma correcta:git status
Debería ver una salida como la de este ejemplo:
On branch main Initial commit Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: index.html
Realización de la primera confirmación
Ahora que index.html se ha agregado al índice, el paso siguiente consiste en confirmarlo.
Utilice el comando siguiente para crear otra confirmación:
git commit index.html -m "Create an empty index.html file"
La marca
-m
de este comando indica a Git que va a proporcionar un mensaje de confirmación.Hay muchas maneras de formular mensajes de confirmación, pero una buena pauta consiste en escribir la primera línea de modo que indique lo que la confirmación hace en el árbol. También es habitual poner en mayúsculas la primera letra y dejar fuera el punto final para ahorrar espacio. Imagine que la primera línea del mensaje completa la oración que empieza por "Cuando se inserte, esta confirmación...".
Un mensaje de confirmación puede tener varias líneas. La primera línea no debe tener más de 50 caracteres y debe ir seguida de una línea en blanco. Las líneas siguientes no deben tener más de 72 caracteres. No se trata de requisitos estrictos, y se remontan a los días de las tarjetas perforadas y los terminales "tontos", pero mejoran el aspecto de la salida de
git log
.Git responde con una confirmación de lo que ha hecho:
[main (root-commit) 87e874c] Create an empty index.html file 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 index.html
Realice un seguimiento con un comando
git status
y confirme que el árbol de trabajo está limpio, es decir, que no contiene cambios sin confirmar.Ahora, use un comando
git log
para mostrar información sobre la confirmación:git log
La respuesta de Git debería ser similar a este ejemplo:
commit 87e874c4aeeb3f9692ae5d9875235353708d7dd5 Author: User Name <user-name@contoso.com> Date: Fri Nov 15 20:47:05 2019 +0000 Create an empty index.html file
Modifique index.html y confirme el cambio.
index.html se ha creado para servir como página principal del sitio web, pero actualmente está vacío. El siguiente paso es agregarle algún código HTML. Para hacerlo sencillo, vamos a usar el editor integrado de Cloud Shell para agregar una sola línea de HTML.
Abra index.html en el editor en línea escribiendo
code index.html
en el símbolo del sistema de Terminal:code index.html
Escriba o pegue las instrucciones siguientes en el editor:
<h1>Our Feline Friends</h1>
Guarde el archivo y cierre el editor en línea. Puede seleccionar los puntos suspensivos "..." de la esquina derecha del editor de Cloud Shell o usar la tecla de aceleración (Ctrl+S en Windows y Linux, Cmd+S en macOS).
Use un comando
git status
para comprobar el estado del árbol de trabajo:git status
Puede ver que Git es consciente de los cambios realizados:
On branch main 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: index.html no changes added to commit (use "git add" and/or "git commit -a")
Ahora, confirme los cambios:
git commit -a -m "Add a heading to index.html"
Observe que esta vez no se ha ejecutado el comando
git add
para almacenar provisionalmente los cambios. En su lugar, usamos la marca-a
en el comandogit commit
. La opción-a
agrega todos los archivos que se han modificado desde la última confirmación. No agregará archivos nuevos. Para agregar nuevos archivos, se sigue necesitandogit add
.Compruebe los resultados. Deberían parecerse a los de este ejemplo:
[main 8c9143a] Add a heading to index.html 1 file changed, 1 insertion(+)
Se ha confirmado el cambio en index.html. Ahora hay dos versiones del archivo en el repositorio, aunque solo se ve una de ellas (la actual). Una de las ventajas de usar Git es que se pueden revertir los cambios realizados o retroceder en el tiempo y ver las versiones anteriores. Veremos más cosas sobre este tema tan importante más adelante.