CodeGym /Cursos /C# SELF /Ciclo diario del desarrollador: Commit, Push y .gitignore...

Ciclo diario del desarrollador: Commit, Push y .gitignore

C# SELF
Nivel 26 , Lección 1
Disponible

1. Inicio: clonar el proyecto

Empecemos desde donde lo dejamos en la lección anterior. Tienes un repositorio creado en GitHub, y ahora necesitas obtener su copia local en tu ordenador para empezar a trabajar. Este proceso se llama clonar.

Paso 1. Abre tu IDE. Si tienes algún proyecto abierto, ciérralo vía File -> Close Project. En la ventana inicial selecciona Clone Repository o Get from VCS.

Paso 2. En la ventana que se abra pega la URL de tu repositorio. Este método es útil si vas a clonar el repo de otra persona. Puedes copiar la URL desde la página del repositorio en GitHub.

Si clonas tu propio repositorio (nuestro caso), lo más fácil es iniciar sesión en tu cuenta de GitHub directamente desde la IDE. Para eso elige la opción Log in to GitHub. Tu IDE abrirá el navegador para autorizarte.

Ventana de autorización de JetBrains IDE en GitHub

En la página que se abra pulsa tranquilamente el botón verde Authorize JetBrains. Después podrás elegir tus repositorios directamente desde la lista en la IDE. Selecciona el proyecto que necesites y haz clic en Clone.

Paso 3. La IDE te preguntará si confías en este proyecto. Como es tu propio repositorio, haz clic en Trust Project.

Paso 4. Configurar el antivirus (para usuarios de Windows)

El antivirus de Windows puede avisar de que la IDE está intentando ejecutar acciones desconocidas. Como vamos a crear y ejecutar programas, necesitamos permitir que la IDE funcione sin restricciones. Pulsa el botón «Automatically», para que la IDE añada las carpetas necesarias a las excepciones del antivirus.

2. Guardar cambios: Commit

commit — es una "instantánea", o el estado guardado de tu proyecto en un momento concreto. Piénsalo como un punto de guardado en un juego: siempre puedes volver a él si algo sale mal. Cada commit tiene un identificador único y un mensaje que describe los cambios realizados.

        gitGraph
        commit id: "Initial commit"
        commit id: "Add user authentication"
        commit id: "Fix login button bug"
        commit id: "Refactor database connection"
    
Historia de commits. Cada nuevo commit se basa en el anterior, creando una cronología del desarrollo del proyecto.

Paso 1. Haz cambios.

Si has clonado un repositorio recién creado, contendrá solo un archivo — README.md

Abre el archivo README.md y añade la descripción de tu proyecto. En cuanto empieces a editar el archivo, la IDE resaltará su nombre en color azul en el panel del proyecto. Eso significa que el archivo fue modificado, pero todavía no está guardado en Git. La IDE añadirá una línea verde donde hayas hecho cambios.

Paso 2. Abre la ventana Commit.

A la izquierda en la IDE hay una pestaña Commit. Al abrirla verás todos los cambios listos para guardarse. Para el primer commit esta ventana requiere atención especial.

Veamos qué vemos:

  • Changes: aquí están los archivos que ya son rastreados por Git pero fueron modificados. En nuestro caso es README.md, al que añadimos el plan del proyecto.
  • Unversioned Files: son archivos nuevos que Git ve en la carpeta del proyecto pero todavía no rastrea.

Puede surgir la pregunta: ¿hay que añadir todos esos archivos de sistema al repositorio?

La buena noticia es que cuando creamos el repositorio en GitHub elegimos la plantilla .gitignore. Ese archivo ya contiene reglas que le dicen a Git que ignore carpetas o archivos innecesarios. Pero de eso hablaremos con más detalle al final de la lección.

Por ahora nuestra tarea para el primer commit es añadir todos los archivos principales del proyecto al historial y escribir el mensaje del commit.

Paso 3. Haz el commit.

Pulsa el botón Commit. ¡Listo! Has guardado la "instantánea" de tu proyecto en el repositorio local. El archivo volverá a su color normal.

3. Enviar cambios a GitHub: Push

Tus commits por ahora están solo en tu ordenador. Para compartirlos con el equipo o guardarlos en un lugar seguro, debes enviarlos al repositorio remoto en GitHub.

        sequenceDiagram
        participant Repositorio_local (Tu ordenador)
        participant Repositorio_remoto (GitHub)

        note over Repositorio_local (Tu ordenador): Has hecho uno o varios commits.
Existen solo aquí. Repositorio_local (Tu ordenador) ->> Repositorio_remoto (GitHub): git push (enviar commits) note over Repositorio_remoto (GitHub): Tus commits se copian
y se guardan de forma segura en el servidor.
Tus commits locales se envían al servidor remoto, sincronizando la historia del proyecto.

Paso 1. Pulsa el botón Push.

En la esquina superior derecha de la IDE hay una flecha verde hacia arriba — ese es el botón Push. Haz clic en él.

Paso 2. Revisa y confirma.

Se abrirá una ventana donde verás todos los commits listos para enviarse. Esta es tu última oportunidad para asegurarte de que estás mandando exactamente lo que quieres. Pulsa Push.

Si todo va bien verás mensajes: Pushed commits to origin/main. Create pull request

Paso 3. Comprueba el resultado en GitHub.

Tras un push exitoso abre la página de tu repositorio en GitHub. Verás que tus cambios aparecieron allí.

4. Panel de control Git

En tu IDE hay un menú especial Git en la barra superior. Es tu centro de control de versiones. Vamos a familiarizarnos rápido con sus opciones clave.

  • Commit: abre la ventana que ya conocemos para guardar cambios.
  • Push: abre la ventana para enviar tus commits a GitHub.
  • Update Project: función muy importante. Descarga los cambios recientes hechos por otros miembros del equipo (ejecuta git pull). ¡Úsala cada mañana antes de empezar a trabajar!
  • Branches: abre la ventana para gestionar ramas. Esto lo veremos con detalle en la siguiente lección.
  • Show Git Log: muestra todo el historial de commits de tu proyecto. Tu máquina del tiempo personal.

5. Uso de archivos .gitignore

Si añadiste al proyecto algunos archivos de sistema y no quieres que entren por accidente al repositorio, puedes ponerlos en las excepciones. Para eso existe un archivo llamado .gitignore. Es muy útil cuando en el proyecto hay archivos que no deben almacenarse en el sistema de control de versiones (por ejemplo, archivos temporales, logs, contraseñas).

Paso 1. Primero crea el archivo en el directorio del proyecto que quieras ignorar. Por ejemplo, notes.txt. Después de crear el archivo pulsa Cancel si la IDE te sugiere añadirlo a Git.

Paso 2. Haz clic derecho sobre el archivo creado en la ventana "Project". Ve a Git --> Add to .gitignore --> Add to .gitignore. Esta opción añade el archivo seleccionado al fichero .gitignore en la raíz de tu proyecto.

Si aún no tienes el archivo .gitignore, la IDE te propondrá crearlo. Acepta.

Paso 3. Tu IDE añadirá automáticamente el nombre del archivo a .gitignore.

Después de añadirlo a .gitignore, los archivos ignorados se mostrarán en color gris o marrón. Al intentar commitear, esos archivos serán ignorados. La carpeta .idea se puede añadir al ignore.

No olvides commitear el propio archivo .gitignore en el repositorio y enviar los cambios a GitHub para que todos los miembros del proyecto usen las mismas reglas de ignorado.

Excluir archivos locales: .git/info/exclude

Además del archivo .gitignore, que se usa para excluir archivos para todos los usuarios del proyecto, Git permite crear reglas locales de exclusión en el archivo .git/info/exclude. Estas no se commitean en el repositorio y solo aplican a tu copia local del proyecto.

Esto puede ser útil, por ejemplo, para ignorar archivos creados por tu IDE que no deben ir al control de versiones pero que son específicos solo para ti.

¡Importante! Las reglas locales de exclusión aplican solo a tu copia local del repositorio.

¿Y si ya lo commité?

.gitignore ignora solo archivos nuevos que aún no están siendo rastreados. Si ya commiteaste un archivo, está en el historial del repositorio y Git seguirá rastreándolo aunque lo añadas a .gitignore. Para esos casos existe un comando para la terminal: git rm --cached <file>. Pero eso lo veremos por separado.

Reglas para .gitignore

En el archivo .gitignore se indican patrones de nombres de archivos y carpetas que Git debe ignorar.

Las líneas vacías se ignoran. Para añadir un comentario, comienza la línea con el símbolo #.

Patrones:

  • * — reemplaza cualquier número de caracteres. Por ejemplo, *.log ignora todos los archivos con extensión .log.
  • / — al final del patrón indica directorio. Por ejemplo, logs/ ignora todo el contenido de la carpeta logs.
  • ! — al inicio de la línea invierte la regla. Por ejemplo, si tienes la regla *.log, pero quieres rastrear important.log, añade la línea !important.log.
  • ** — coincide con cualquier número de carpetas anidadas. Por ejemplo, **/temp ignora carpetas temp en cualquier nivel de anidamiento.

Ejemplo de archivo .gitignore


# Código compilado
/bin/
/obj/

# Archivos temporales
*.tmp
*.swp

# Logs
*.log

# Carpetas creadas por la IDE
.idea/
*.user
*.suo

# Entornos virtuales y dependencias
/venv/
/node_modules/

Plantillas listas

No necesitas escribir estos archivos desde cero. Existen plantillas probadas por la comunidad:

  1. La colección de .gitignore de GitHub para distintos lenguajes y frameworks: https://github.com/github/gitignore.
  2. gitignore.io — servicio web útil que genera un archivo .gitignore según tus tecnologías.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION