HAZ tu primera contribución Open Source — Transcript
Full transcript
- 0:00Una buena manera de aumentar nuestras oportunidades laborales es
- 0:03creando proyectos personales y subiéndolos a nuestra cuenta de GitHub,
- 0:07esto sirve como portafolio para que los reclutadores conozcan más acerca de nuestro perfil
- 0:12y entonces puedan conocer más acerca de los proyectos en los que
- 0:15hemos trabajado o lo que somos capaces de hacer,
- 0:19otra manera de conseguir una mayor visibilidad es también contribuyendo a proyectos Open Source,
- 0:25en este vídeo vamos a ver de manera específica cómo hacer nuestra primera contribución
- 0:29a un proyecto Open Source.
- 0:32Para esto vamos a venir a este repositorio llamado first-contributions,
- 0:37cuyo objetivo es ayudar a quienes recién empezamos
- 0:40a realizar nuestra primera contribución a proyectos Open Source,
- 0:45y aquí en la descripción de este repositorio encontramos los pasos que vamos a seguir,
- 0:50lo primero que haremos es un fork de este repositorio,
- 0:54hacer un fork significa crear una copia de este repositorio pero asociado a nuestra cuenta,
- 1:01a nuestra cuenta de GitHub.
- 1:02¿Sí?
- 1:03El segundo paso, es clonar el repositorio que está asociado a nuestra cuenta
- 1:08y una vez que lo tenemos clonado en nuestra computadora, vamos a crear una rama,
- 1:12sobre esta rama vamos a aplicar un cambio
- 1:14que finalmente vamos a subir este cambio a nuestro repositorio
- 1:19para que como último paso podamos enviar un Pull Request
- 1:24hacia el repositorio del autor original,
- 1:27para que pueda revisar nuestro cambio y aprobarlo,
- 1:31¿sí?
- 1:33este es el workflow típico y clásico que se sigue al realizar contribuciones hacia proyectos Open Source,
- 1:40hacemos fork de un repositorio, lo clonamos localmente,
- 1:43editamos lo que creemos correspondiente y enviamos un Pull Request,
- 1:48o sea una solicitud para que el autor del repositorio original haga pull de nuestros cambios
- 1:54hacia el repositorio principal,
- 1:57¿sí? entonces esto es lo que vamos a estar haciendo
- 2:01y vamos a hacer esto desde la línea de comandos, desde la terminal
- 2:04existen herramientas con interfaces gráficas de usuario que permiten hacer lo mismo,
- 2:08pero lo recomendable es usar siempre la consola,
- 2:14como ya mencionamos, el primer paso es hacer fork del repositorio,
- 2:18en el caso de GitHub simplemente hacemos clic en este botón
- 2:22aquí, ustedes pueden hacer fork del repositorio hacia su cuenta de GitHub personal
- 2:27o pueden hacer fork hacia una organización,
- 2:30en GitHub es posible crear organizaciones en donde varios integrantes pueden pertenecer a ella,
- 2:36por ejemplo esta organización es una que había creado cuando estaba en la universidad con unos compañeros,
- 2:42en realidad no llegamos a publicar a muchos repositorios aquí, pero quedó de recuerdo se puede decir,
- 2:48entonces yo voy a hacer fork hacia mi cuenta personal de GitHub,
- 2:53esto va a llevar unos segundos nos dice,
- 2:58y ahora estamos aquí, ya no estamos en firstcontributions/first-contributions
- 3:05sino que estamos en JCarlosR que es mi usuario de GitHub / first-contributions, ¿sí?
- 3:12en GitHub siempre los repositorios tienen esta estructura, esta ruta de enlace,
- 3:16tienen nuestro username y tienen el nombre del repositorio
- 3:20y aquí nos dice forked from firstcontributions/first-contributions
- 3:27si hacemos una traducción literal forked from significa que este proyecto es una bifurcación de este otro,
- 3:34¿sí?
- 3:35es como una versión alternativa que nace a partir de esta otra
- 3:39esto es necesario porque nosotros no tenemos acceso a este repositorio,
- 3:43entonces lo que hacemos es crear una bifurcación un forked,
- 3:46crear nuevos commits en nuestro repositorio propio y luego hacer un Pull Request,
- 3:50o sea hacemos una solicitud para que el autor de este repositorio acepte el cambio o no,
- 3:56¿sí?
- 3:57ya tenemos listo el primer paso,
- 4:00este número indica cuántos forks se han realizado
- 4:04y en este caso las estrellas están en cero porque estoy en el repositorio
- 4:08asociado a mi cuenta y no en el repositorio original en donde si podemos ver que tiene muchas más estrellas,
- 4:16esto es solamente como un indicador que nos permite agregar este repositorio como uno de nuestros favoritos
- 4:22por ejemplo le voy a dar clic
- 4:24y aumenta el contador.
- 4:27Bien,
- 4:28el segundo paso luego de hacer un fork, es clonar este repositorio,
- 4:35no desde aquí sino desde acá, entonces vamos a clonar,
- 4:40clonar significa que vamos a descargar el proyecto en nuestra computadora para poder hacer cambios,
- 4:44crear commits y subirlos a GitHub nuevamente,
- 4:47podemos clonar en donde creamos correspondiente, en este caso yo voy a clonar dentro de esta carpeta,
- 4:54por lo tanto aquí pondré git clone, seguido de la URL del repositorio asociado a mi cuenta de GitHub,
- 5:06aquí debemos esperar un momento y el tiempo que vaya a tardar depende de nuestra conexión de internet
- 5:12y de la cantidad de archivos que forman parte de un repositorio determinado,
- 5:18una vez que terminamos de clonar podemos usar el comando cd para ubicarnos
- 5:22en la carpeta first-contributions,
- 5:27estando aquí nosotros podemos modificar un archivo desde la consola, pero si tenemos un editor
- 5:34podemos hacerlo también desde un editor de texto,
- 5:37por ejemplo ahora voy a abrir el proyecto desde Sublime Text, presiono Control + o
- 5:47y en este caso vamos a abrir Contributors.md
- 5:52la extensión md significa que estamos tratando con un archivo de markdown
- 5:57¿sí?
- 5:58que es un formato especial que nos permite escribir texto plano y finalmente generar html,
- 6:05por ejemplo este numeral significa que esto es un título
- 6:09y probablemente luego se reemplase por un h1,
- 6:12estos guiones representan que queremos tener aquí una lista desordenada un <ul>
- 6:17y estos corchetes, con estos paréntesis y estos enlaces
- 6:21generan un hipervínculo cuando ya se muestra esto en una página,
- 6:27¿sí?
- 6:27entonces, quien creó este repositorio tuvo una muy buena idea porque
- 6:33nos permite hacer fork, nos permite clonar el repositorio y nos sugiere ahora
- 6:38agregar nuestro nombre en algún lugar, nos dice no agreguen su nombre al inicio
- 6:42tampoco lo hagan al final, pueden hacerlo por el medio es lo que nos dice,
- 6:47¿sí?, entonces en el lugar que ustedes crean apropiado pueden agregar su nombre,
- 6:52yo por ejemplo quiero agregar mi nombre aquí, debajo de este nombre que no tiene enlace,
- 6:56pero antes de hacerlo, lo recomendable es crear una rama,
- 7:01¿sí? una rama representa un cambio como sugerencia que quiero hacer a un proyecto que no es mío.
- 7:08¿Sí? ¿Cómo creamos una rama?
- 7:11Simplemente usamos el comando git checkout -b
- 7:15b de branch
- 7:16y ponemos luego el nombre de la rama que queremos crear,
- 7:21entonces aquí voy a poner git checkout -b
- 7:25y el nombre de la rama puede ser cualquiera,
- 7:27en este caso voy a ponerle add jcarlosr
- 7:34¿sí?
- 7:35es simplemente una sugerencia que nos da el autor del repositorio
- 7:40pero podría tener un nombre distinto,
- 7:43aquí se acaba de crear la rama add-jcarlosr
- 7:48y también se hizo switch a esa rama,
- 7:51para confirmar esto, nosotros podemos usar el comando git branch
- 7:56y ver de esta manera las ramas que tenemos,
- 7:58el asterisco aparecerá al costado de la rama en la que estamos ubicados actualmente,
- 8:04como ya estamos en esta rama nueva, vamos ahora a hacer un cambio
- 8:08y a crear un commit para que ese comit forme parte de esta rama,
- 8:13entonces, aquí vamos a copiar una línea, vamos a poner el nombre que queremos que aparezca,
- 8:20puede ser nuestro nombre personal o puede ser el username de nuestra cuenta de GitHub,
- 8:26¿sí? entonces copiamos esto y agregamos por aquí un enlace hacia nuestra cuenta de GitHub.
- 8:34En la consola nosotros podemos hacer git status para ver qué cambios tenemos,
- 8:39nos dice que contributors.md ha sido modificado
- 8:43podemos hacer git add . esto selecciona automáticamente todos los cambios,
- 8:46o podemos ser más específicos
- 8:50y seleccionar solamente el archivo que hemos modificado.
- 8:56Hay algunos casos en que nos conviene ser específicos
- 8:59porque a veces navegando entre archivos de un proyecto
- 9:03terminamos cambiando otros archivos que en realidad no queríamos cambiarlo,
- 9:07pero si somos específicos, no vamos a subir cambios que no queremos subir,
- 9:12¿sí? porque la idea es que un Pull Request
- 9:15haga un cambio específico y no cambios innecesarios, por ejemplo añadir un espacio,
- 9:21añadir un Tab en distintos archivos que no tienen relación entre ellos,
- 9:26como ya seleccioné los archivos con los que quiero formar un commit
- 9:29ahora vamos a crear un commit y le vamos a dar un nombre,
- 9:34aquí la sugerencia que nos da el autor del repositorio es que usemos este nombre,
- 9:38Add <nuestro nombre> to Contributors list
- 9:43entonces vamos a poner Add JCarlosR hacia la lista de Contributors ,
- 9:50¿sí?
- 9:51y luego vamos a hacer push para subir los cambios a nuestro repositorio que tenemos en GitHub,
- 9:57para ello hacemos git push origin
- 10:00seguido del nombre de nuestra rama,
- 10:02es muy común ver este comando que es cuando trabajamos directamente sobre la rama master
- 10:07pero en nuestro caso, como estamos trabajando en una rama por separado, que justamente podemos ver aquí,
- 10:14tenemos que usar este comando de acá
- 10:16¿sí? vamos a hacer push de los cambios que están en esta rama sobre el repositorio origin.
- 10:22¿Cuál es el repositorio origin?
- 10:29Para subir los cambios he tenido que ingresar mi username, mi contraseña
- 10:34y así mismo, un código de verificación,
- 10:38ya que mi cuenta está protegida por un mecanismo conocido como 2 Factor Authentication;
- 10:43es decir, cuando voy a iniciar sesión hay un código que se genera y que llega a mi dispositivo móvil
- 10:49para poder verificar que soy yo realmente quien está usando mis credenciales,
- 10:55y bien, acabamos de subir nuestro commit a GitHub.
- 10:57Anteriormente les decía ¿qué es origin?
- 11:00Origin es el repositorio al cual estamos subiendo nuestros cambios,
- 11:04es el repositorio al cual estamos subiendo nuestro commit
- 11:08podemos usar git remote -v
- 11:11para ver a qué repositorio remoto estamos conectados,
- 11:14en este caso estamos conectados a este repositorio perteneciente a esta cuenta,
- 11:19entonces, origin es el alias para hacer referencia a este repositorio remoto,
- 11:25mientras que ésta viene a ser la rama local sobre la cual hemos trabajado,
- 11:29tras subir cambios, de hecho aquí ha aparecido
- 11:33un mensaje, una notificación en tiempo real que nos dice que se ha creado esta rama
- 11:38hace menos de un minuto,
- 11:40¿sí?
- 11:41entonces lo siguiente es hacer clic en este botón,
- 11:46Compare & pull request,
- 11:48comprar y solicitar que el autor haga pull de nuestros cambios en el repositorio original,
- 11:57al llegar a este punto, aquí tenemos la descripción del commit que hemos ingresado
- 12:02y aquí podríamos agregar más detalles de qué cambio estamos haciendo.
- 12:07Cuando hagamos una contribución modificando la lógica de algún algoritmo en algún proyecto,
- 12:12por ejemplo aquí podríamos comentar qué beneficios aportan los cambios que estamos haciendo
- 12:17o qué errores son corregidos,
- 12:20¿sí?
- 12:21en este caso nos dice que estamos abriendo un Pull Request desde nuestra rama
- 12:27que está en nuestro repositorio hacia la rama master de este repositorio de aquí,
- 12:32entonces presionamos Create pull request
- 12:41y luego de hacer ello, aquí vemos como automáticamente se hace merge
- 12:45de nuestros cambios sobre el repositorio principal,
- 12:50normalmente esto debería llevar tiempo para que el autor revise nuestros cambios,
- 12:55en este caso es automático,
- 12:57aquí de hecho vemos un comentario, ¿sí? esto de aquí está automatizado
- 13:02y fue posible gracias a que nuestra rama no tuvo ningún conflicto con la rama base.
- 13:09Aquí nos dice que nuestro Pool Request se llevó a cabo correctamente,
- 13:13como todo fue muy bien,
- 13:15nos dice que si queremos podemos borrar a esta rama
- 13:18o incluso podemos borrar nuestro fork,
- 13:21el fork completo que hicimos de el repositorio original
- 13:25y aquí GitHub nos da la opción de eliminar una rama y eliminar el fork,
- 13:31¿sí?
- 13:32no es necesario que hagamos ello,
- 13:34podemos dejarlo allí para que quede como constancia de nuestra contribución.
- 13:41Bueno, espero que todos los que estén viendo este vídeo
- 13:44puedan hacer su primera contribución a un proyecto Open Source,
- 13:47en este caso no hemos aportado hacia una biblioteca o un framework,
- 13:52pero ya sabemos los pasos que se siguen para hacer una contribución,
- 13:56entonces, lo siguiente sería que cuando nos encontremos con una biblioteca
- 14:01que no satisface todos nuestros requerimientos,
- 14:05en ese caso podemos hacer un fork, clonar la biblioteca,
- 14:08agregar y mejorar lo que creamos correspondiente y finalmente hacer un Pull Request,
- 14:13¿sí?
- 14:15Muchas gracias por ver el vídeo hasta el final,
- 14:17si tienen alguna duda o sugerencia pueden dejar aquí debajo un comentario.
About this transcript
This page contains the full transcript of HAZ tu primera contribución Open Source by Programación y más, generated from the public captions YouTube serves with the video. The transcript has 2,014 words across 196 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.