
Introducción al curso
Qué verás en esta sección
Git es una herramienta con mucho potencial y mucha flexibilidad, y esa es la razón por la que muchas empresas y proyectos lo han adoptado.
GitHub es una de las principales forjas de código en línea para guardar y compartir código fuente, y esa es la razón por la que está tan extendido hoy en día en la industria IT.
¿Eres estudiante? Deja que te recuerde que GitHub ofrece beneficios para estudiantes si tienen un correo universitario válido, con los que tendrás acceso a GitHub Pro y a un montón de software y servicios.
Git no es lo mismo que GitHub. En esta lección cubro uno de los mitos que más se confunden, para que sepas cómo llamar correctamente a cada cosa.
Qué verás en esta sección
Si tienes macOS, en esta lección te cuento cómo puedes instalar Git en tu ordenador con Homebrew.
Si tienes Windows, en esta lección te cuento cómo puedes instalar Git en tu ordenador con Git for Windows.
Si usas GNU/Linux, en esta lección te recuerdo cómo se instala Git en tu ordenador mediante un gestor de paquetes.
Si usas Visual Studio Code, tienes ya una interfaz de usuario alternativa para trabajar con Git. Le estaremos sacando mucho partido en este curso.
JetBrains es uno de los muchos IDEs con soporte nativo para Git, sin tener que salir a la terminal.
Existen multitud de aplicaciones gráficas que permiten interactuar con Git sin tocar comandos. Aquí te cuento algunos ejemplos: GitHub Desktop y SourceTree.
Una de las formas más importantes para trabajar con Git es la terminal. Las aplicaciones gráficas están bien, pero sólo la terminal implementa el 100% de las funciones que te aporta Git.
Si nunca has utilizado una terminal o símbolo del sistema, aquí te doy algunas lecciones importantes para que no te pierdas al principio.
Qué verás en esta sección
Cómo configurar Git con el nombre y el e-mail para que sepa quiénes somos cuando trabajamos con Git.
Cómo hacer git init para agregar un repositorio nuevo a un proyecto de código fuente.
Los commits son cada una de las snapshots esenciales. En esta lección, cómo hacer un commit desde la terminal.
Si usas Visual Studio Code, puedes hacer commit directamente desde la interfaz de usuario. Aquí te cuento cómo.
Es fácil hacer mensajes de commit, pero difícil hacer mensajes de commit valiosos. Sigue estos consejos y te irá mejor.
Cómo ver el histórico de trabajo hecho sobre un repositorio por ti o por las demás personas de tu equipo.
Cómo ver un detalle sobre un commit en concreto usando la terminal.
Git se basa en ramas. Es un concepto tan flexible y tan potente que es el día a día, pero necesitas saber cómo usarlo bien.
Cómo crear y hacer tus propios cambios de rama.
No siempre Git te va a dejar cambiar de rama. Aquí te explico cómo puedes hacerlo cuando se niegue.
Conceptos que parece que no son muy importantes en el día a día pero que a veces nos van a salir en mensajes de error… ¡mejor ver qué quiere decir cada cosa!
El gitignore permite controlar lo que puede entrar en un repo y lo que no. Aprende a usarlo bien para no compartir lo que no debes.
El comando merge es esencial para fusionar el trabajo previamente hecho con ramas.
Cuando trabajes mucho con ramas, los merges empezarán a comportarse raro. Aquí te ayudo para que no te pierdas.
No siempre saldrá bien un merge a la primera. Aquí te explico qué es un conflicto y como no tenerle miedo.
No todos los editores de texto tienen soporte nativo para conflictos. Aquí te explico cómo cerrar un conflicto desde la línea de comandos.
De vez en cuando conviene limpiar el repositorio para trabajar más fácilmente con las ramas.
Qué verás en esta sección
Cómo crear una cuenta de GitHub y moverse por la interfaz.
Cómo crear un repositorio en GitHub.
Cómo crear y subir una clave SSH, para poder iniciar sesión desde nuestro ordenador y subir o bajar código.
Cómo subir código a GitHub para tenerlo sincronizado en la nube.
Clonar es el proceso que se sigue para descargar un repositorio nuevo en el ordenador. En este vídeo te cuento cómo empezar.
Cuando en tu equipo hagan cosas en el repositorio, tendrás que usar este comando para traerte las nuevas cosas que se hayan hecho hacia tu ordenador.
Te explico cómo gestionar bugs y tareas entrantes usando el issue tracker.
Si vas a tener un proyecto público, te conviene tener plantillas para que crear issues sea más fácil y también menos propenso a errores.
Cómo agregar a más personas a un proyecto privado para que podáis trabajar en compañía.
Qué verás en esta sección
¿Por qué tantas empresas usan GitHub hoy en día? En esta sección te cuento herramientas que te trae GitHub para aportarle valor a tu proyecto.
¿Sabías que GitHub también es un cliente de Git? Aquí te explico cómo puedes crear ramas sin salir de tu navegador web.
El fork es una de las partes más importantes y menos entendidas de GitHub. Aquí te explico en qué consiste.
Cómo abrir un pull request, una de las piezas básicas que permiten la cooperación en GitHub.
En empresas o proyectos grandes será normal que te quieran hacer una code review al código. En este vídeo nos ponemos en el lado de la persona que hace la code review.
La code review puede salir bien o mal. Aquí te explico cómo puedes hacer frente desde GitHub a los comentarios y propuestas de cambio que te hagan.
No siempre un pull request se puede integrar de forma limpia. Aquí te explico cómo usar GitHub.com para resolver un conflicto cuando vayas a integrar código.
¿Sabías que GitHub incorpora un kanban, y que además está conectado al issue tracker?
Las etiquetas y las milestones son útiles para organizar las tareas de un repositorio.
Qué verás en esta sección
GitFlow es la metodología de trabajo tradicional para usar Git de forma segura e indolora, propuesta en 2009
GitHubFlow es la metodología de trabajo que GitHub propone, y que utiliza GitHub como un pilar esencial de comunicación.
Trunk Based Development es una forma de simplificar el día a día en un repositorio para asegurar código de mayor calidad.
Conventional Commits es una metodología de repositorios Git que busca que el historial de Git hable por nosotros cuando se trata de hacer changelogs.
Qué verás en esta sección
GitHub es tu escaparate al mundo exterior. En esta sección te explicaré cómo puedes conseguir que tu proyecto o perfil se vea bonito para hacerlo atractivo.
Si nunca has usado Markdown, en esta guía te cuento cómo comenzar con este lenguaje de marcas de una forma que puedas comprender.
Los tags permiten crear marcapáginas en un repositorio. En esta lección te cuento cómo definirlos.
Las releases permiten crear noticias en GitHub con las que compartir de una forma más elegante nuevas versiones de tus proyectos y adjuntar artefactos.
Esta característica te permite convertir tu perfil en una auténtica tarjeta de presentación para que reclutadores puedan fijarse en ti o para inciar tu carrera como influencer del código.
GitHub no deja de ser una red social. ¿Sirven de algo las estrellas? ¿Cómo puedo descubrir repositorios interesantes con bibliotecas para mi próximo proyecto?
Qué verás en esta sección
Si te has encerrado en Vim y no sabes qué tecla usar para salir, aquí te explico cómo puedes escapar.
Si un merge ha salido mal y no puedes resolver fácilmente el conflicto, aquí te cuento cómo lo puedes cancelar.
¿Has hecho commit antes de cambiar de rama? No te preocupes, suele pasar. Aquí te cuento cómo remediarlo.
¿Hiciste commit antes de tiempo? A veces pasa, aquí te cuento cómo ampliar tu último commit, el más reciente.
¿Has hecho push antes de tiempo? Aquí te explico cómo puedes remediarlo de forma pacífica o de forma voraz.
¿Miraste el historial de Git y ahora todo dice HEAD? Aquí te cuento cómo puedes salir.
¿Has borrado la rama que no era? Aquí te cuento cómo usar el reflog. No está garantizado que recuperes el trabajo, pero es posible que con esta herramienta puedas volver a un commit que dabas por perdido.
Git es una de las tecnologías más influyentes en el mundo del desarrollo de software en los últimos 20 años. Su forma de trabajar ha revolucionado los flujos de trabajo en las organizaciones y hoy en día está tan ampliamente implantado en el sector que muchas empresas simplemente asumen que sabes Git. Con este curso podrás adquirir o poner al día tu conocimiento sobre Git para saber cómo desempeñarte con esta herramienta que, si bien promete ser fácil, a veces presenta retos.
Por otra parte, la facilidad con la que GitHub permite compartir software con el mundo en la forja de código más utilizada en este momento ha conseguido colocar a esta aplicación web como una de las formas favoritas de mucha gente de publicar software de código abierto, comunicar sus capacidades a reclutadores y entrevistadores cuando se busca empleo, y también moverse en el día a día una vez ya se tiene uno, tanto que muchos equipos de trabajo también lo utilizan en su día a día para realizar sus actividades.
Este curso te contará lo que necesitas conocer sobre Git y sobre GitHub utilizando una manera de enseñar cercana y que te proporcionará conocimientos útiles que podrás aprovechar en tu día a día para mejorar como desarrollador, optar a puestos de trabajo, o moverte correctamente una vez tienes uno.
Te invito a ver el temario completo, comprobarás que no es el típico curso donde únicamente se enseña las conceptos fundamentales sino que hay información extra
Aquí tienes una idea global de lo que se abarca en el curso a través de sus diferentes secciones
Introducción al curso
El propósito de este apartado es introducir al espectador a Git y GitHub, y razonar por qué son tecnologías tan importantes y competitivas hoy en día en las empresas, y de qué forma les pueden ayudar a hacer búsquedas de empleo o a ser más productivos en su día a día. Además, hay gente que tiende a confundir Git con GitHub, de modo que se incluye la diferencia entre Git y GitHub y se enseñan otras forjas que también usan Git pero que no son GitHub.
Primeros pasos con Git
Este es el punto de partida en el cual se va a enseñar cómo instalar Git en el ordenador, se esté usando el sistema operativo que se esté usando. Además, veremos las distintas interfaces que tenemos para interactuar con Git según nuestras necesidades: gráficas, de terminal…
Integra Git en tu día a día
El propósito de este apartado es enseñar Git. Es la piedra angular sobre la que descansa el resto de contenido, por lo que es importante ser capaz de entender los conceptos clave, como las ramas, los commits o en general cómo realizar el trabajo usando Git. En este capítulo se incluyen tanto las tareas más esenciales que se van a necesitar con más frecuencia con Git, como tareas que no son tan importantes en el día a día pero que pueden ayudar a comprender mejor algunas partes o a mantener nuestro repositorio limpio
Utilizando GitHub
Esta es la sección en la que conectamos Git con internet y presentamos la forja de GitHub, donde el código se vuelve social. En este apartado creamos cuentas, repositorios, y hacemos sincronización en ambas direcciones entre el código del ordenador y el que hay subido a GitHub, y mostramos una a una las partes más importantes que tiene un proyecto de GitHub cuando estamos en su página web.
Flujos de trabajo basados en hechos reales
En empresas y organizaciones que usan Git, suele existir una serie de protocolos o rituales que unifican la forma en la cual el equipo realiza su trabajo. En el caso de empresas que usen GitHub, este tipo de protocolos en muchos casos involucran usar la web, por ejemplo, para realizar una code review. Basándonos en la forma real en la que muchas empresas han adoptado hoy en día Git y GitHub aquí se presentan varias formas de realizar una tarea en su sitio web que nos pueden ser necesarias en el día a día.
Flujos de trabajo típicos en empresas y proyectos Git
Una visión sobre la forma en la que las empresas que han adoptado Git lo están usando en el día a día. Este apartado es útil para personas que vayan a trabajar en empresas o proyectos donde se use Git, para poder hacerse a la idea de cómo está estructurado el repositorio y así saber cómo navegar por el mismo o realizar su trabajo.
Mejora tu proyecto open source o portafolio
No todo es trabajar para empresas. Bien sea porque quieres contribuir al código abierto participando en proyectos establecidos que aceptan contribuciones a través de todo internet, compartir con el mundo un programa de software que has creado, o darte a conocer para mejorar tu imagen u obtener incluso la aprobación durante un proceso de selección, GitHub también puede ser una herramienta útil para trabajar de forma social en tus proyectos.
Socorro, algo se ha roto
Uno de los principales inconvenientes de Git es que pese a su simpática interfaz inicial en los casos más favorables, cuanto peor vayan las cosas, más complicado será entender por qué. El propósito de esta sección es ofrecer algunas explicaciones y procedimientos para reparar los problemas más habituales que se suelen dar en repositorios de Git.
A quién va dirigido este curso
Este curso va destinado a personas que quieran aprender a utilizar Git, porque quieran o porque les sea necesario para el trabajo, la escuela o similares. Este curso también va destinado a personas que quieran aprender a integrar Git y GitHub en su día a día y aprovechar sus flujos como parte de procesos agile en el trabajo o también, por qué no, en la escuela.
Requisitos mínimos
Para poder seguir este curso deberías tener a mano código fuente con el que vayas a practicar, bien sea tuyo para integrarlo con Git, o bien sea algún proyecto de código abierto o de un equipo en el que te encuentres trabajando. Es ideal aunque no estrictamente necesario que sepas usar una terminal, ya que aunque en este curso se presenta el uso de Git desde entornos gráficos (fundamentalmente, Visual Studio Code), buena parte de la potencia se obtiene desde la terminal y se usan algunos comandos. Si no sabes usar una terminal, tengo un vídeo de anexo para ti para que le pierdas miedo, aunque es recomendable que tengas a mano recursos extra por si necesitas más ayuda. Para poder seguir este curso es muy recomendable conocer inglés.
Nos vemos!