1. Primeros pasos: clonar el proyecto
Empecemos desde donde lo dejamos en la lección anterior. Ya tienes un repositorio creado en GitHub y ahora necesitas obtener una copia local en tu ordenador para empezar a trabajar. Este proceso se llama clonación.
Paso 1. Inicia tu IDE. Si tienes algún proyecto abierto, ciérralo mediante File -> Close Project. En la pantalla de inicio, elige Clone Repository o Get from VCS.
Paso 2. En la ventana que se abre, pega la URL de tu repositorio. Este método es útil si vas a clonar el repositorio de otra persona. Puedes copiar la URL desde la página del repositorio en GitHub.
Si vas a clonar tu propio repositorio (nuestro caso), lo más sencillo es iniciar sesión en tu cuenta de GitHub directamente desde la IDE. Para ello, elige la opción Log in to GitHub. Tu IDE abrirá el navegador para la autorización.
En la página que se abrirá, pulsa sin miedo el botón verde Authorize JetBrains. Después podrás elegir tus repositorios directamente de la lista en la IDE. Selecciona el proyecto que necesites y pulsa Clone.
Paso 3. Tu IDE te preguntará si confías en este proyecto. Como es tu propio repositorio, pulsa Trust Project.
Paso 4. Configuración del antivirus (para usuarios de Windows)
El antivirus de Windows puede advertir que la IDE intenta realizar acciones desconocidas para él. 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 por sí sola las carpetas necesarias a las excepciones del antivirus.
2. Guardar cambios: Commit
commit — es una «captura», o un estado guardado de tu proyecto en un momento determinado. 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"
Historial de commits. Cada nuevo commit se construye sobre el anterior, creando una cronología de la evolución del proyecto.
Paso 1. Realiza cambios.
Si clonaste un repositorio recién creado, contendrá solo un archivo — README.md
Abre el archivo README.md y añade en él la descripción de tu proyecto. En cuanto empieces a editar el archivo, la IDE resaltará su nombre con blue color en el panel del proyecto. Esto significa que el archivo ha sido modificado, pero los cambios aún no se han guardado en Git. La IDE añadirá una green line donde hayas realizado 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 guardar. Para el primer commit, esta ventana requiere especial atención.
Analicemos lo que vemos:
- Changes: aquí están los archivos que ya están siendo rastreados por Git, pero que fueron modificados. En nuestro caso es
README.md, al que añadimos el plan del proyecto. - Unversioned Files: estos son archivos nuevos que Git ve en la carpeta del proyecto, pero que aún no rastrea.
Puede surgir la pregunta: ¿hay que añadir todos esos archivos de servicio al repositorio?
La buena noticia es que, cuando creamos el repositorio en GitHub, elegimos una plantilla de .gitignore. Este archivo ya contiene reglas que indican a Git que ignore carpetas o archivos innecesarios. Pero hablaremos de ello 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 propio mensaje del commit.
Paso 3. Haz el commit.
Pulsa el botón Commit. ¡Listo! Has guardado una «captura» de tu proyecto en el repositorio local. El archivo volverá a su color normal.
3. Enviar cambios a GitHub: Push
Tus commits, por ahora, se almacenan solo en tu ordenador. Para compartirlos con el equipo o guardarlos en un lugar seguro, hay que enviarlos al repositorio remoto de GitHub.
sequenceDiagram
participant Repositorio local (Tu ordenador)
participant Repositorio remoto (GitHub)
note over Repositorio local (Tu ordenador): Has hecho uno o varios commits.
Solo existen aquí.
Repositorio local (Tu ordenador) ->> Repositorio remoto (GitHub): git push (enviar commits)
note over Repositorio remoto (GitHub): Tus commits se han copiado
y se han guardado de forma segura en el servidor.
Paso 1. Pulsa el botón Push.
En la esquina superior derecha de la IDE hay una flecha verde hacia arriba — es el botón Push. Púlsalo.
Paso 2. Revisa y confirma.
Se abrirá una ventana donde verás todos los commits que están listos para ser enviados. Es tu última oportunidad para asegurarte de que vas a enviar exactamente lo necesario. Pulsa Push.
Si todo ha ido bien, verás los mensajes: Pushed commits to origin/main. Create pull request
Paso 3. Comprueba el resultado en GitHub.
Tras el envío correcto, abre la página de tu repositorio en GitHub. Verás que tus cambios aparecen allí.
4. Panel de control de Git
Tu IDE tiene un menú especial Git, que puedes encontrar en la barra superior. Es tu centro de control de versiones. Démosle un repaso rápido a sus elementos clave.
Commit: abre la ventana ya conocida para guardar cambios.Push: abre la ventana para enviar tus commits a GitHub.Update Project: función muy importante. Descarga los cambios recientes de otros miembros del equipo (ejecutagit pull). ¡Púlsala cada mañana antes de empezar a trabajar!Branches: abre la ventana para gestionar ramas. Lo veremos en detalle en la próxima 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 has añadido a tu proyecto algunos archivos de servicio y no quieres que acaben en el repositorio por accidente, puedes añadirlos a las excepciones. Para eso está el archivo llamado .gitignore. Es muy útil cuando en el proyecto hay archivos que no deben guardarse en el sistema de control de versiones (por ejemplo, archivos temporales, registros, contraseñas).
Paso 1. Para empezar, crea en el directorio del proyecto el archivo que quieras ignorar. Por ejemplo, notes.txt. Tras crear el archivo, pulsa Cancel si la IDE te propone añadirlo a Git.
Paso 2. Haz clic con el botón 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 archivo .gitignore en la raíz de tu proyecto.
Si aún no tenías un 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 gris o marrón. Al intentar hacer commit, estos archivos serán ignorados. La carpeta .idea se puede añadir al archivo de ignorados.
No olvides hacer commit del propio archivo .gitignore al repositorio y enviar los cambios a GitHub, para que todos los miembros del proyecto utilicen las mismas reglas de ignorados.
Exclusión de archivos locales: .git/info/exclude
Además del archivo .gitignore, que se utiliza para excluir archivos para todos los usuarios del proyecto, Git proporciona la posibilidad de crear reglas de ignorado locales en el archivo .git/info/exclude. No se harán commit al repositorio y solo se aplicarán a tu copia local del proyecto.
Esto puede ser útil, por ejemplo, para ignorar archivos creados por tu IDE que no deban entrar en el sistema de control de versiones, pero que sean específicos solo para ti.
Important! Las reglas de ignorado locales solo se aplican a tu copia local del repositorio.
¿Y si ya hice commit?
.gitignore ignora únicamente archivos nuevos que aún no están siendo rastreados. Si ya hiciste commit de un archivo, este está en el historial del repositorio y Git seguirá rastreándolo, incluso si lo añades a .gitignore. Para estas situaciones hay un comando para la terminal: git rm --cached <file>. Pero conviene leer sobre él 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, empieza la línea con el símbolo #.
Patrones:
*— sustituye cualquier cantidad de cualquier carácter. Por ejemplo,*.logignora todos los archivos con la extensión.log./— al final del patrón indica un directorio. Por ejemplo,logs/ignora todo el contenido de la carpetalogs.!— al inicio de la línea invierte la regla. Por ejemplo, si tienes la regla*.log, pero quieres rastrearimportant.log, añade la línea!important.log.**— coincide con cualquier cantidad de carpetas anidadas. Por ejemplo,**/tempignora las carpetastempen cualquier nivel de anidamiento.
Ejemplo de archivo .gitignore
# Código compilado
/bin/
/obj/
# Archivos temporales
*.tmp
*.swp
# Registros
*.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 listas y validadas por la comunidad:
- Colección de
.gitignorede GitHub para distintos lenguajes y frameworks: https://github.com/github/gitignore. - gitignore.io — un servicio web práctico que genera el archivo
.gitignorepara tus tecnologías.
GO TO FULL VERSION