19 KiB
Introducción a GitHub
Esta lección cubre los conceptos básicos de GitHub, una plataforma para alojar y gestionar cambios en tu código.
Sketchnote por Tomomi Imura
Cuestionario previo a la lección
Cuestionario previo a la lección
Introducción
En esta lección, cubriremos:
- cómo rastrear el trabajo que haces en tu máquina
- cómo trabajar en proyectos con otros
- cómo contribuir al software de código abierto
Prerrequisitos
Antes de comenzar, necesitas verificar si Git está instalado. En la terminal escribe:
git --version
Si Git no está instalado, descarga Git. Luego, configura tu perfil local de Git en la terminal:
git config --global user.name "tu-nombre"
git config --global user.email "tu-correo"
Para verificar si Git ya está configurado, puedes escribir:
git config --list
También necesitarás una cuenta de GitHub, un editor de código (como Visual Studio Code) y abrir tu terminal (o símbolo del sistema).
Navega a github.com y crea una cuenta si aún no lo has hecho, o inicia sesión y completa tu perfil.
✅ GitHub no es el único repositorio de código en el mundo; hay otros, pero GitHub es el más conocido.
Preparación
Necesitarás una carpeta con un proyecto de código en tu máquina local (laptop o PC) y un repositorio público en GitHub, que servirá como ejemplo de cómo contribuir a los proyectos de otros.
Gestión de código
Supongamos que tienes una carpeta localmente con algún proyecto de código y quieres comenzar a rastrear tu progreso usando git, el sistema de control de versiones. Algunas personas comparan usar git con escribir una carta de amor a tu futuro yo. Al leer tus mensajes de confirmación días, semanas o meses después, podrás recordar por qué tomaste una decisión o "revertir" un cambio, siempre y cuando escribas buenos "mensajes de confirmación".
Tarea: Crear un repositorio y confirmar código
Mira el video
-
Crear un repositorio en GitHub. En GitHub.com, en la pestaña de repositorios o desde la barra de navegación en la parte superior derecha, encuentra el botón nuevo repositorio.
- Dale un nombre a tu repositorio (carpeta).
- Selecciona crear repositorio.
-
Navega a tu carpeta de trabajo. En tu terminal, cambia a la carpeta (también conocida como directorio) que deseas comenzar a rastrear. Escribe:
cd [name of your folder]
-
Inicializa un repositorio de git. En tu proyecto escribe:
git init
-
Verifica el estado. Para verificar el estado de tu repositorio escribe:
git status
La salida puede verse algo así:
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: file.txt modified: file2.txt
Normalmente, el comando
git status
te dice cosas como qué archivos están listos para ser guardados en el repositorio o tienen cambios que podrías querer persistir. -
Agrega todos los archivos para rastrear Esto también se llama preparar archivos/agregar archivos al área de preparación.
git add .
El argumento
git add
más.
indica que todos tus archivos y cambios serán rastreados. -
Agrega archivos seleccionados para rastrear
git add [file or folder name]
Esto nos ayuda a agregar solo archivos seleccionados al área de preparación cuando no queremos confirmar todos los archivos a la vez.
-
Quitar la preparación de todos los archivos
git reset
Este comando nos ayuda a quitar la preparación de todos los archivos a la vez.
-
Quitar la preparación de un archivo en particular
git reset [file or folder name]
Este comando nos ayuda a quitar la preparación de solo un archivo en particular que no queremos incluir en la próxima confirmación.
-
Persistir tu trabajo. En este punto, has agregado los archivos a un área llamada área de preparación. Un lugar donde Git está rastreando tus archivos. Para hacer el cambio permanente necesitas confirmar los archivos. Para hacerlo, crea una confirmación con el comando
git commit
. Una confirmación representa un punto de guardado en la historia de tu repositorio. Escribe lo siguiente para crear una confirmación:git commit -m "first commit"
Esto confirma todos tus archivos, agregando el mensaje "primer commit". Para futuros mensajes de confirmación, querrás ser más descriptivo en tu descripción para transmitir qué tipo de cambio has realizado.
-
Conecta tu repositorio local de Git con GitHub. Un repositorio de Git es útil en tu máquina, pero en algún momento querrás tener una copia de seguridad de tus archivos en algún lugar y también invitar a otras personas a trabajar contigo en tu repositorio. Un gran lugar para hacerlo es GitHub. Recuerda que ya hemos creado un repositorio en GitHub, así que lo único que necesitamos hacer es conectar nuestro repositorio local de Git con GitHub. El comando
git remote add
hará justo eso. Escribe el siguiente comando:Nota: antes de escribir el comando, ve a la página de tu repositorio en GitHub para encontrar la URL del repositorio. La usarás en el siguiente comando. Reemplaza
https://github.com/username/repository_name.git
con tu URL de GitHub.git remote add origin https://github.com/username/repository_name.git
Esto crea un remoto, o conexión, llamado "origin" que apunta al repositorio de GitHub que creaste anteriormente.
-
Envía archivos locales a GitHub. Hasta ahora has creado una conexión entre el repositorio local y el repositorio de GitHub. Enviemos estos archivos a GitHub con el siguiente comando
git push
, de esta manera:Nota: el nombre de tu rama puede ser diferente por defecto de
main
.git push -u origin main
Esto envía tus confirmaciones en tu rama "main" a GitHub.
-
Para agregar más cambios. Si deseas continuar haciendo cambios y enviándolos a GitHub, solo necesitarás usar los siguientes tres comandos:
git add . git commit -m "type your commit message here" git push
Consejo: También podrías querer adoptar un archivo
.gitignore
para evitar que los archivos que no deseas rastrear aparezcan en GitHub, como ese archivo de notas que guardas en la misma carpeta pero que no tiene lugar en un repositorio público. Puedes encontrar plantillas para archivos.gitignore
en .gitignore templates.
Mensajes de confirmación
Un gran mensaje de confirmación de Git completa la siguiente oración: Si se aplica, esta confirmación <tu línea de asunto aquí>
Para el asunto, usa el tiempo presente e imperativo: "cambiar" en lugar de "cambiado" ni "cambios".
Al igual que en el asunto, en el cuerpo (opcional) también usa el tiempo presente e imperativo. El cuerpo debe incluir la motivación para el cambio y contrastarlo con el comportamiento anterior. Estás explicando el por qué
, no el cómo
.
✅ Tómate unos minutos para navegar por GitHub. ¿Puedes encontrar un mensaje de confirmación realmente bueno? ¿Puedes encontrar uno realmente mínimo? ¿Qué información crees que es la más importante y útil para transmitir en un mensaje de confirmación?
Tarea: Colaborar
La razón principal para poner cosas en GitHub fue hacer posible colaborar con otros desarrolladores.
Trabajar en proyectos con otros
Mira el video
En tu repositorio, navega a Insights > Community
para ver cómo tu proyecto se compara con los estándares comunitarios recomendados.
Aquí hay algunas cosas que pueden mejorar tu repositorio de GitHub:
- Descripción. ¿Agregaste una descripción para tu proyecto?
- README. ¿Agregaste un README? GitHub proporciona orientación para escribir un README.
- Guía de contribución. ¿Tu proyecto tiene guías de contribución?
- Código de conducta. ¿Tiene un Código de Conducta?
- Licencia. Quizás lo más importante, ¿tiene una licencia?
Todos estos recursos beneficiarán la incorporación de nuevos miembros al equipo. Y típicamente son el tipo de cosas que los nuevos contribuyentes miran antes de siquiera mirar tu código, para averiguar si tu proyecto es el lugar adecuado para que inviertan su tiempo.
✅ Los archivos README, aunque toman tiempo para prepararse, a menudo son descuidados por los mantenedores ocupados. ¿Puedes encontrar un ejemplo de uno particularmente descriptivo? Nota: hay algunos herramientas para ayudar a crear buenos READMEs que podrías querer probar.
Tarea: Fusionar código
Los documentos de contribución ayudan a las personas a contribuir al proyecto. Explican qué tipos de contribuciones estás buscando y cómo funciona el proceso. Los contribuyentes necesitarán pasar por una serie de pasos para poder contribuir a tu repositorio en GitHub:
- Hacer un fork de tu repositorio. Probablemente querrás que las personas hagan un fork de tu proyecto. Hacer un fork significa crear una réplica de tu repositorio en su perfil de GitHub.
- Clonar. Desde allí, clonarán el proyecto a su máquina local.
- Crear una rama. Querrás pedirles que creen una rama para su trabajo.
- Enfocar su cambio en un área. Pide a los contribuyentes que concentren sus contribuciones en una sola cosa a la vez; de esa manera, las posibilidades de que puedas fusionar su trabajo son mayores. Imagina que escriben una corrección de errores, agregan una nueva característica y actualizan varias pruebas; ¿qué pasa si quieres, o solo puedes implementar 2 de 3, o 1 de 3 cambios?
✅ Imagina una situación donde las ramas son particularmente críticas para escribir y enviar buen código. ¿Qué casos de uso se te ocurren?
Nota: sé el cambio que quieres ver en el mundo y crea ramas para tu propio trabajo también. Cualquier confirmación que hagas se realizará en la rama en la que estés "revisado". Usa
git status
para ver en qué rama estás.
Pasemos por un flujo de trabajo de contribuyente. Supongamos que el contribuyente ya ha hecho un fork y clonado el repositorio, por lo que tiene un repositorio de Git listo para trabajar en su máquina local:
-
Crear una rama. Usa el comando
git branch
para crear una rama que contendrá los cambios que planean contribuir:git branch [branch-name]
-
Cambiar a la rama de trabajo. Cambia a la rama especificada y actualiza el directorio de trabajo con
git switch
:git switch [branch-name]
-
Hacer el trabajo. En este punto, quieres agregar tus cambios. No olvides informarle a Git con los siguientes comandos:
git add . git commit -m "my changes"
Asegúrate de darle a tu confirmación un buen nombre, tanto para ti como para el mantenedor del repositorio al que estás ayudando.
-
Combinar tu trabajo con la rama
main
. En algún momento terminas de trabajar y quieres combinar tu trabajo con el de la ramamain
. La ramamain
podría haber cambiado mientras tanto, así que asegúrate de actualizarla primero con los siguientes comandos:git switch main git pull
En este punto, quieres asegurarte de que cualquier conflicto, situaciones donde Git no puede fácilmente combinar los cambios, ocurra en tu rama de trabajo. Por lo tanto, ejecuta los siguientes comandos:
git switch [branch_name] git merge main
Esto traerá todos los cambios de
main
a tu rama y, con suerte, podrás continuar. Si no, VS Code te indicará dónde Git está confundido y solo alteras los archivos afectados para decir qué contenido es el más preciso. -
Enviar tu trabajo a GitHub. Enviar tu trabajo a GitHub significa dos cosas: empujar tu rama a tu repositorio y luego abrir un PR (Pull Request).
git push --set-upstream origin [branch-name]
El comando anterior crea la rama en tu repositorio bifurcado.
-
Abrir un PR. A continuación, quieres abrir un PR. Hazlo navegando al repositorio bifurcado en GitHub. Verás una indicación en GitHub donde pregunta si deseas crear un nuevo PR, haz clic en eso y serás llevado a una interfaz donde puedes cambiar el título del mensaje de confirmación, darle una descripción más adecuada. Ahora el mantenedor del repositorio que bifurcaste verá este PR y crucemos los dedos apreciará y fusionará tu PR. Ahora eres un contribuyente, ¡yay! :)
-
Limpiar. Se considera una buena práctica limpiar después de fusionar exitosamente un PR. Quieres limpiar tanto tu rama local como la rama que empujaste a GitHub. Primero, eliminémosla localmente con el siguiente comando:
git branch -d [branch-name]
Asegúrate de ir a la página de GitHub para el repositorio bifurcado y eliminar la rama remota que acabas de empujar.
Pull request
parece un término extraño porque, en realidad, lo que quieres es enviar tus cambios al proyecto. Pero el mantenedor (propietario del proyecto) o el equipo principal necesita considerar tus cambios antes de fusionarlos con la rama "main" del proyecto, así que realmente estás solicitando una decisión de cambio al mantenedor.
Un pull request es el lugar para comparar y discutir las diferencias introducidas en una rama con revisiones, comentarios, pruebas integradas y más. Un buen pull request sigue aproximadamente las mismas reglas que un mensaje de commit. Puedes agregar una referencia a un problema en el rastreador de problemas, por ejemplo, cuando tu trabajo soluciona un problema. Esto se hace usando un #
seguido del número de tu problema. Por ejemplo, #97
.
🤞Crucemos los dedos para que todas las verificaciones pasen y el/los propietario(s) del proyecto fusionen tus cambios en el proyecto🤞
Actualiza tu rama de trabajo local actual con todos los nuevos commits de la rama remota correspondiente en GitHub:
git pull
Cómo contribuir al código abierto
Primero, busquemos un repositorio (o repo) en GitHub que te interese y al que te gustaría contribuir con un cambio. Querrás copiar su contenido a tu máquina.
✅ Una buena manera de encontrar repositorios 'amigables para principiantes' es buscar por la etiqueta 'good-first-issue'.
Hay varias formas de copiar código. Una forma es "clonar" el contenido del repositorio, usando HTTPS, SSH o la CLI (Interfaz de Línea de Comandos) de GitHub.
Abre tu terminal y clona el repositorio de esta manera:
git clone https://github.com/ProjectURL
Para trabajar en el proyecto, cambia a la carpeta correcta:
cd ProjectURL
También puedes abrir el proyecto completo usando Codespaces, el editor de código integrado / entorno de desarrollo en la nube de GitHub, o GitHub Desktop.
Por último, puedes descargar el código en una carpeta comprimida.
Algunas cosas interesantes sobre GitHub
Puedes marcar con estrella, seguir y/o "forkear" cualquier repositorio público en GitHub. Puedes encontrar tus repositorios marcados con estrella en el menú desplegable de la esquina superior derecha. Es como guardar favoritos, pero para código.
Los proyectos tienen un rastreador de problemas, generalmente en GitHub en la pestaña "Issues", a menos que se indique lo contrario, donde las personas discuten problemas relacionados con el proyecto. Y la pestaña de Pull Requests es donde las personas discuten y revisan los cambios que están en progreso.
Los proyectos también pueden tener discusiones en foros, listas de correo o canales de chat como Slack, Discord o IRC.
✅ Explora tu nuevo repositorio de GitHub y prueba algunas cosas, como editar configuraciones, agregar información a tu repositorio y crear un proyecto (como un tablero Kanban). ¡Hay mucho que puedes hacer!
🚀 Desafío
Trabaja en pareja con un amigo para colaborar en el código del otro. Crea un proyecto de manera colaborativa, haz un fork del código, crea ramas y fusiona cambios.
Cuestionario post-clase
Revisión y autoestudio
Lee más sobre cómo contribuir al software de código abierto.
Practica, practica, practica. GitHub tiene excelentes rutas de aprendizaje disponibles en skills.github.com:
También encontrarás cursos más avanzados.
Tarea
Completa el curso de la Primera Semana en GitHub
Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Si bien nos esforzamos por lograr precisión, tenga en cuenta que las traducciones automáticas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.