Curso de Git y Github desde cero - Inicializar repositorio con Git y añadirle archivos - Capítulo 4


En este cuarto capítulo vas a ver como iniciar un repositorio con Git y como puedes añadir archivos a él. Además, te explicaré lo que es un repositorio, el área de staging y commit.

Crear e iniciar un repositorio Git

Ahora que ya enseñé en el capítulo anterior a moverse por el sistema de archivos con Git Bash, es el momento de que vayamos a la carpeta en la cuál vamos a crear un repositorio de Git. Antes, para quienes no sepáis lo que un repositorio, lo explico.

¿Qué es un repositorio?

Un repositorio es un espacio (llamalo carpeta, contenedor, almacén, como prefieras) donde se almacena, mantiene y organiza cierta información. En nuestro caso, con Git, archivos informáticos de todo tipo.

Por ejemplo, estás creando un sitio web o una aplicación, puedes almacenar estos archivos en un repositorio.

Ahora si, vamos a crear el repositorio. Me dirijo a la carpeta Documents de mi usuario, tú pon tus proyectos donde quieras.

Comandos Git

cd Documents
mkdir proyectos_git
cd proyectos_git

Una vez dentro de la carpeta proyectos_git crea la primera carpeta para el primer repositorio y accede a ella con cd.

Comandos Git

mkdir proyecto_1
cd proyecto_1

Inicializar un repositorio de Git

Para inicializar un repositorio solo tienes que utilizar el comando git init.

Comandos Git

git init

Esto hace que se inicie el repositorio sobre la carpeta en la que está el prompt. En caso de que no estés en la carpeta, puedes añadir la ruta y funciona igual.

Comandos Git

git init ruta_carpeta

terminal Resultado en la consola terminal

En la siguiente imagen puedes ver como me da un mensaje...

Git init
Initialized empty Git repository in D:/Users/PF/Documents/proyectos_git/proyecto_1/.git/

Este mensaje dice que se ha inicializado un repositorio de Git vacío en la ruta D:/Users/PF/Documents/ proyectos_git/proyecto_1/.git/. Al final, puedes ver que aparece .git/. Esto significa que se ha creado una carpeta dedicada a Git dentro de la raíz de la carpeta del repositorio (proyecto_1 ). Si introduces el comando ls para verla, no te aparecerá, se está ignorando. Puedes ir con la interfaz gráfica de Windows a la carpeta del proyecto. Para esto, puedes ir directamente a la carpeta pulsando sobre la ruta en la consola de Git Bash con las teclas CTRL + CLICK .

Git repositorio carpeta .git

.git es siempre una carpeta oculta. Por este motivo, si quieres verla, tendrás que activar la opción de Windows de mostrar elementos ocultos.

Esta carpeta contiene todo lo necesario para convertir una simple carpeta en un repositorio Git. Por lo tanto, no la debes tocar. Se mira, pero no se toca .

Añadir archivos al repositorio

Una vez creado el repositorio, puedes añadir todos los archivos que quieras. Por cierto, también podías tener archivos en la carpeta antes de inicializar el repositorio.

Creemos un archivo .html para ir probando cosas. Este lo voy a guardar en la raíz del repositorio proyecto_1 .

Te recomiendo que veas como voy haciendo todo esto en los vídeos. Te ayudará a entenderlo mejor.

Aquí tienes una página básica que te sirve para seguir los ejemplos.

Página html - index.html

<!doctype html>
<html lang="es">
<head>
	<meta charset="utf-8">
	<title>Página principal del proyecto</title>
	<meta name="description" content="Página principal para el proyecto de Git">
	<meta name="author" content="Programación Fácil">
</head>
<html>

Crear y editar archivos de texto desde la consola Git Bash

Este archivo lo puedes crear fácilmente desde Atom o desde cualquier otro editor de texto, trabajaremos también desde Atom en este curso, pero es conveniente que sepas también trabajar desde la consola por si en algún momento no dispones de interfaz gráfica.

Desde la consola contamos con varios editores de texto, en concreto vamos a utilizar nano.

Para crear un archivo de texto plano con nano solo tienes que utilizar el comando nano seguido del nombre del archivo que quieres crear:

Comandos Git

nano index.html

La extensión .html es importante, ya que convierte un simple archivo de texto en un documento con dicha extensión, si no, será como un archivo .txt del bloc de notas.

Al introducir el comando, se va a ejecutar nano. La consola cambia de aspecto.

Editor de texto nano en Git Bash

Copia las etiquetas del código html de arriba, puedes personalizarlo como quieras.

Pegar texto en nano

Para pegar un texto del portapapeles en nano, lo podemos hacer con el ratón o bien puedes pulsar la combinación de teclas SHIFT + INS (Insertar).

Te quedará así:

Pegar texto en nano

Guardar un archivo en nano

Ahora, para guardar los cambios y hacer efectiva la creación del archivo, pulsa las teclas CTRL + O.

Te aparecerá un mensaje como este:

Guardar archivos con nano

Debes confirmarlo pulsando la tecla Enter.

Te dirá las líneas que se han escrito. Tras este mensaje, puedes cerrar nano y volver al prompt de Git Bash con las teclas CTRL + X.

Guardar archivos con nano

Comprueba con el comando ls que el archivo ha sido creado.

Modificar archivos con nano

Una vez creado un archivo, podemos abrirlo de nuevo con nano de la misma forma que lo creamos nano nombre_archivo. Si realizas algún cambio, guárdalo de la misma forma.

Ahora que ya tenemos un archivo en nuestro repositorio de Git es el momento de enviarlo al área de staging, procedimiento que podemos hacer en cualquier momento y con tantos archivos como queramos, no tiene porque hacerse archivo por archivo.

Ver el estado de un repositorio Git

Antes de enviarlo a esta área, lo que vamos a hacer es ver el estado del repositorio con el siguiente comando:

Comandos Git

git status

terminal Resultado en la consola terminal

git status

En la primera línea nos especifica que estamos en la rama master (On branch master).
En la siguiente línea nos dice que no hemos realizado ningún "commit" (No commits yet).

La palabra "commit" no tiene realmente una traducción consensuada para Git, puedes ver una discusión sobre la traducción en este enlace.

Para que empieces a entender más fácilmente esta palabra, la voy a traducir como confirmar.

Lo siguiente que nos ha devuelto la consola es "Untracked files:". Esto nos indica los archivos que no se encuentran "confirmados" en nuestro repositorio (no les hemos hecho "commit").
Nos aparecen todos los archivos en color rojo, en este caso, solo index.html. Si hubiera más archivos, saldrían aquí.

Finalmente, aparece "nothing added to commit but untracked files present". Esto nos está diciendo que no tenemos nada añadido al área de confirmación (área de staging que ahora veremos).

¿Qué es el área de staging?

El área de staging es una zona de confirmación donde vamos a ir enviando todos los archivos que creamos convenientes. Una vez hayamos terminado de añadir los que queramos, tendremos que enviar los archivos a commit para que estos sean confirmados en la versión actual de nuestro programa, web, etc. Una vez confirmados, podemos seguir creando y modificando archivos. Cada vez, los deberemos ir pasando por el área de staging para finalmente confirmar los archivos que consideremos como terminados de crear o modificar.

Curso gratis de Git y GitHub

Para que lo entiendas un poco mejor, imagina una persona escribiendo varios archivos de una web. Cuando termina su jornada de trabajo decide salvar los cambios. Para ello, envia los archivos al área de staging. Para simplificarlo, podríamos reemplar "área de staging" por ¿Está seguro/a de que quiere guardar estos archivos?
Finalmente, este usuario contesta a la pregunta con un "sí" o en Git con un commit.

Esta teoría es algo confusa si no la pones en práctica, así que pongámosla a prueba.

Añadir archivos al área de staging de Git

Para añadir archivos al área de staging lo haremos con el siguiente comando y el nombre del archivo que queramos añadir:

Comandos Git

git add index.html

Podemos ver si efectivamente se ha añadido el archivo al área de staging con git status.

Comandos Git

git status

terminal Resultado en la consola terminal

Esta vez, nos sigue diciendo que no hemos realizado ningún commit. Sin embargo, aparece en color verde el archivo index.html lo cual indica que está listo para ser "confirmado", para hacer el commit.

git status staging

Ya solo nos queda enviar el archivo a commit para que forme parte de la primera versión del proyecto de Git.

Como hacer commit en Git

Para realizar este commit, lo haremos con el comando git commit y se hará commit de todos los archivos que hayamos ido guardando en el área de staging.

Comandos Git

git commit -m "Creando el índice del sitio web."

terminal Resultado en la consola terminal

El mensaje es una forma de saber lo que hemos guardado en este commit. Lo he añadido con la opción -m seguida del string (mensaje).

Aún no vamos a entrar en detalles, pero al menos, fíjate en la salida de la consola. Nos está indicando que se ha hecho el commit de un archivo y un total de nueve inserciones, que son las líneas de código que se han guardado. Si miras mi página index.html, verás que efectivamente, tiene nueve líneas.

git commit

Podemos comprobar nuevamente el estado del repositorio con git status.

terminal Resultado en la consola terminal

git árbol de trabajo limpio

Esta vez, me dice que el árbol de trabajo está limpio, que no hay nada para hacer commit. Esto será así, hasta que realicemos alguna modificación al archivo o añadamos nuevos.


Capítulos


    Suscríbete a mi canal de YouTube para apoyarme

    Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

    Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

    No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.


    Comentarios

    Si te quedan dudas sobre el temario, sobre Git, GitHub, cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.