AI prompts
base on Curso para aprender a trabajar con el sistema de control de versiones Git y la plataforma GitHub desde cero y para principiantes. Elaborado durante las emisiones en directo desde Twitch de MoureDev. # Hello Git & GitHub
[![Git](https://img.shields.io/badge/Git-2.37+-f14e32?style=for-the-badge&logo=git&logoColor=white&labelColor=101010)](https://git-scm.com/)
[![GitHub](https://img.shields.io/badge/GitHub-Web-blue?style=for-the-badge&logo=github&logoColor=white&labelColor=101010)](https://github.com/)
## Curso completo de 5 horas y 45 lecciones para aprender a trabajar con Git & GitHub desde cero y para principiantes
![](./Media/header.jpg)
### Proyecto realizado durante emisiones en directo desde [Twitch](https://twitch.tv/mouredev)
> ##### Si consideras útil el curso, apóyalo haciendo "★ Star" en el repositorio. ¡Gracias!
## Lo que aprenderás
- Git desde su historia y fundamentos
- Conceptos principales y flujo de trabajo
- Manejo de terminal
- Instalación y configuración
- Más de 25 comandos de Git
- GitHub desde cero
- Configuración y autenticación
- Integración de Git con GitHub
- Flujo colaborativo
- Herramientas destacadas
- Ejemplos prácticos
Y mucho más...
## ¡Nuevo! Libro de Git & GitHub desde cero (segunda edición)
<a href="https://mouredev.com/libro-git"><img src="./Media/book.jpg" style="height: 50%; width:50%;"/></a>
Una guía de estudio teórico-práctica paso a paso de 300 hojas para complementar el curso en vídeo y aprender mucho más.
#### [Tapa Blanda y Kindle](https://mouredev.com/libro-git)
#### [eBook (pdf, epub y web)](https://mouredev.com/ebook-git)
*Primera edición: Abril de 2023*
*Segunda edición: Abril de 2024 [[Notas completas](./notas_segunda_ed.md)]*
* *Actualización de imágenes*
* *Sección GitHub Actions y "otros comandos"*
* *Pequeñas correcciones*
> **Nota importante**: Si dispones de la versión en papel, y quieres consultar las imágenes del libro en máxima resolución, puedes encontrarlas en el directorio [Media/Book screenshots](./Media/Book%20screenshots) del repositorio.
## Clases en vídeo
ℹ️ Tienes un canal llamado **"git-github"** en el servidor de **[Discord](https://mouredev.com/discord)** de la comunidad para preguntar, compartir y ayudar.
<a href="https://youtu.be/3GymExBkKjE"><img src="http://i3.ytimg.com/vi/3GymExBkKjE/maxresdefault.jpg" style="height: 50%; width:50%;"/></a>
- [Introducción](https://youtu.be/3GymExBkKjE)
- [Lección 1 - Introducción a Git](https://youtu.be/3GymExBkKjE?t=196) **Comienza la parte de Git**
- [Lección 2 - Historia de Git](https://youtu.be/3GymExBkKjE?t=622)
- [Lección 3 - Instalación de Git](https://youtu.be/3GymExBkKjE?t=876)
- [Lección 4 - Comandos básicos de la terminal](https://youtu.be/3GymExBkKjE?t=1441)
- [Lección 5 - Configuración de Git](https://youtu.be/3GymExBkKjE?t=1814)
- [Lección 6 - "git init"](https://youtu.be/3GymExBkKjE?t=2208)
- [Lección 7 - Ramas en Git](https://youtu.be/3GymExBkKjE?t=2544)
- [Lección 8 - "git add" y "git commit"](https://youtu.be/3GymExBkKjE?t=2721)
- [Lección 9 - "git log" y "git status"](https://youtu.be/3GymExBkKjE?t=3207)
- [Lección 10 - "git checkout" y "git reset"](https://youtu.be/3GymExBkKjE?t=3468)
- [Lección 11 - "git alias"](https://youtu.be/3GymExBkKjE?t=3782)
- [Lección 12 - Fichero .gitignore](https://youtu.be/3GymExBkKjE?t=3905)
- [Lección 13 - "git diff"](https://youtu.be/3GymExBkKjE?t=4145)
- [Lección 14 - Desplazamiento en una rama](https://youtu.be/3GymExBkKjE?t=4314)
- [Lección 15 - "git reset --hard" y "git reflog"](https://youtu.be/3GymExBkKjE?t=4772)
- [Lección 16 - "git tag"](https://youtu.be/3GymExBkKjE?t=5258)
- [Lección 17 - "git branch" y "git switch"](https://youtu.be/3GymExBkKjE?t=5857)
- [Lección 18 - "git merge"](https://youtu.be/3GymExBkKjE?t=6547)
- [Lección 19 - Resolución de conflictos en Git](https://youtu.be/3GymExBkKjE?t=6870)
- [Lección 20 - "git stash"](https://youtu.be/3GymExBkKjE?t=7423)
- [Lección 21 - Reintegración de ramas en Git](https://youtu.be/3GymExBkKjE?t=7811)
- [Lección 22 - Eliminación de ramas en Git](https://youtu.be/3GymExBkKjE?t=8187)
- [Lección 23 - Introducción a GitHub](https://youtu.be/3GymExBkKjE?t=8547) **Comienza la parte de GitHub**
- [Lección 24 - Primeros pasos en GitHub](https://youtu.be/3GymExBkKjE?t=8874)
- [Lección 25 - Repositorio personal](https://youtu.be/3GymExBkKjE?t=9039)
- [Lección 26 - Local y Remoto](https://youtu.be/3GymExBkKjE?t=9761)
- [Lección 27 - Autenticación SSH en GitHub](https://youtu.be/3GymExBkKjE?t=10053)
- [Lección 28 - Repositorio proyecto](https://youtu.be/3GymExBkKjE?t=10845)
- [Lección 29 - "git remote"](https://youtu.be/3GymExBkKjE?t=10950)
- [Lección 30 - Subida de un proyecto a GitHub](https://youtu.be/3GymExBkKjE?t=11240)
- [Lección 31 - "git fetch" y "git pull"](https://youtu.be/3GymExBkKjE?t=11492)
- [Lección 32 - "git clone"](https://youtu.be/3GymExBkKjE?t=11802)
- [Lección 33 - "git push"](https://youtu.be/3GymExBkKjE?t=11996)
- [Lección 34 - "Fork" en GitHub](https://youtu.be/3GymExBkKjE?t=12092)
- [Lección 35 - Flujo colaborativo en GitHub](https://youtu.be/3GymExBkKjE?t=12422)
- [Lección 36 - "Pull Request (PR)" en GitHub](https://youtu.be/3GymExBkKjE?t=12646)
- [Lección 37 - Ejercicio práctico](https://youtu.be/3GymExBkKjE?t=12930) **Práctica**
- [Lección 38 - Resolución de conflictos en Pull Requests](https://youtu.be/3GymExBkKjE?t=13062)
- [Lección 39 - Sincronización de un Fork en GitHub](https://youtu.be/3GymExBkKjE?t=14011)
- [Lección 40 - Markdown en GitHub](https://youtu.be/3GymExBkKjE?t=14214)
- [Lección 41 - Herramientas gráficas (GUI) para Git y GitHub](https://youtu.be/3GymExBkKjE?t=14437)
- [Lección 42 - Git y GitHub "flow"](https://youtu.be/3GymExBkKjE?t=15517)
- [Lección 43 - Ejemplo Gitflow](https://youtu.be/3GymExBkKjE?t=16516)
- [Lección 44 - "git cherry-pick" y "git rebase"](https://youtu.be/3GymExBkKjE?t=17569)
- [Lección 45 - GitHub Pages y Actions](https://youtu.be/3GymExBkKjE?t=18006)
- [Próximos pasos](https://youtu.be/3GymExBkKjE?t=18263)
> ### Ejercicio para practicar lo aprendido:
>
> Si estás participando en el curso y ya has visto la lección 36, practica un flujo completo de trabajo en Git y GitHub añadiendo tu nombre de usuario en el documento [hello.md](./hello.md).
## GitHub Actions desde cero
<a href="https://youtu.be/pNtcTmCiXzw"><img src="http://i3.ytimg.com/vi/pNtcTmCiXzw/maxresdefault.jpg" style="height: 50%; width:50%;"/></a>
Si quieres aprender más sobre GitHub, GitHub Actions es una herramienta muy potente que nos permite crear automatizaciones de construcción, despliegue y testing en nuestro código. Es gratis y te enseño a usarlo en este tutorial desde cero en menos de una hora.
- [Tutorial GitHub Actions](https://youtu.be/pNtcTmCiXzw)
## Enlaces de interés
- [Web](https://git-scm.com) oficial Git (Documentación, descarga...)
- [Libro](https://git-scm.com/book/es/v2) de Git en Español (Gratis)
- ¿Con qué herramientas estoy trabajando?: [iTerm](https://iterm2.com/) con [Oh My Zsh](https://ohmyz.sh/), [VSCode](https://code.visualstudio.com/), [Miro](https://miro.com/)
- [Guía](https://training.github.com/downloads/es_ES/github-git-cheat-sheet/) con comandos de Git más utilizados
- [Web](https://github.com) oficial GitHub
- [Documentación](https://docs.github.com/es) de GitHub
- [Configuración](https://docs.github.com/es/authentication/connecting-to-github-with-ssh/about-ssh) SSH para GitHub
- [Markdown](https://docs.github.com/es/get-started/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax)
- Herramientas gráficas para Git y GitHub: [GitHub Desktop](https://desktop.github.com), [GitKraken](https://gitkraken.com), [Sourcetree](https://sourcetreeapp.com), [Fork](https://git-fork.com)
- [Gitflow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow)
- [GitHub Pages](https://pages.github.com/)
- [GitHub Actions](https://github.com/features/actions)
- Practica con los [retos de programación](https://retosdeprogramacion.com) de la comunidad
- Y por último, aquí tienes un Gif que he creado con los 30 comandos más utilizados de Git
![](./Media/terminal.gif)
#### Puedes apoyar mi trabajo haciendo "☆ Star" en el repo. ¡Gracias!
## Únete al campus de programación de la comunidad
![https://mouredev.pro](./Media/pro.jpg)
#### Te presento [mouredev pro](https://mouredev.pro), mi proyecto más importante para ayudarte a estudiar programación y desarrollo de software de manera diferente.
> **¿Buscas un extra?** Aquí encontrarás mis cursos editados por lecciones individuales, para avanzar a tu ritmo y guardar el progreso. También dispondrás de ejercicios y correcciones, test para validar tus conocimientos, examen y certificado público de finalización, soporte, foro de estudiantes, reunionnes grupales, cursos exclusivos y mucho más.
>
> Entra en **[mouredev.pro](https://mouredev.pro)** y utiliza el cupón **"PRO"** con un 10% de descuento en tu primera suscripción.
## ![https://mouredev.com](https://raw.githubusercontent.com/mouredev/mouredev/master/mouredev_emote.png) Hola, mi nombre es Brais Moure.
### Freelance full-stack iOS & Android engineer
[![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxPD7bsocoAMq8Dj18kmGyQ?style=social)](https://youtube.com/mouredevapps?sub_confirmation=1)
[![Twitch Status](https://img.shields.io/twitch/status/mouredev?style=social)](https://twitch.com/mouredev)
[![Discord](https://img.shields.io/discord/729672926432985098?style=social&label=Discord&logo=discord)](https://mouredev.com/discord)
[![Twitter Follow](https://img.shields.io/twitter/follow/mouredev?style=social)](https://twitter.com/mouredev)
![GitHub Followers](https://img.shields.io/github/followers/mouredev?style=social)
![GitHub Followers](https://img.shields.io/github/stars/mouredev?style=social)
Soy ingeniero de software desde 2010. Desde 2018 combino mi trabajo desarrollando Apps con la creación de contenido formativo sobre programación y tecnología en diferentes redes sociales como **[@mouredev](https://moure.dev)**.
Si quieres unirte a nuestra comunidad de desarrollo, aprender programación, mejorar tus habilidades y ayudar a la continuidad del proyecto, puedes encontrarnos en:
[![Twitch](https://img.shields.io/badge/Twitch-Programación_en_directo-9146FF?style=for-the-badge&logo=twitch&logoColor=white&labelColor=101010)](https://twitch.tv/mouredev)
[![Discord](https://img.shields.io/badge/Discord-Servidor_de_la_comunidad-5865F2?style=for-the-badge&logo=discord&logoColor=white&labelColor=101010)](https://mouredev.com/discord) [![Pro](https://img.shields.io/badge/Cursos-mouredev.pro-FF5500?style=for-the-badge&logo=gnometerminal&logoColor=white&labelColor=101010)](https://moure.dev)
[![Link](https://img.shields.io/badge/Links_de_interés-moure.dev-14a1f0?style=for-the-badge&logo=Linktree&logoColor=white&labelColor=101010)](https://moure.dev) [![Web](https://img.shields.io/badge/GitHub-MoureDev-087ec4?style=for-the-badge&logo=github&logoColor=white&labelColor=101010)](https://github.com/mouredev)
", Assign "at most 3 tags" to the expected json: {"id":"10001","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"