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.
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.
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 (ejecutagit 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,*.logignora todos los archivos con extensión.log./— al final del patrón indica 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 número de carpetas anidadas. Por ejemplo,**/tempignora carpetastempen 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:
- La colección de
.gitignorede GitHub para distintos lenguajes y frameworks: https://github.com/github/gitignore. - gitignore.io — servicio web útil que genera un archivo
.gitignoresegún tus tecnologías.
GO TO FULL VERSION