Al final del taller tendrás claros los fundamentos de Git y Github, y habrás hecho tu primera contribución a un proyecto comunitario.
- (05m) Intro
- (15m) Git
- (15m) GitHub
- (15m) Demo comunitario
- (10m) Q&A
Aclaración: la presentación puede contener errores intencionales de ortografía para ser corregidos durante la dinámica del demo.
���## 1 Control de versiones con Git
Previo: instalación y configuración de Git + registro en GitHub.
1.4 Empezando - Instalando Git
1.5 Empezando - Configurando Git por primera vez
- La triste historia del control de cambios en documentos de Gobierno.
- ¿Por qué necesitas control de versiones en tu vida?
Referencias adicionales
Understanding version control
Beneficios a tu vida:
- historial de tus avances
- no más juntas! cada quién puede trabajar de manera asíncrona, remota, y paralela.
- contesta la pregunta ¿quién hizo este &%%$! cambio?
- resolución de conflictos
Git es distribuido, no centralizado, es decir, cada quien tiene su copia local. Puedes trabajar en donde no tengas Wi-Fi.
Así se ve:
(Bob) git checkout master
(Bob) git commit -a -m "Ahí va el nuevo logo para empezar"
(Bob) git push
(Ana) git checkout -b arregla-el-logo
(Ana) git commit -a -m "Actualiza el logo para que use el más reciente"
(Ana) git push origin arregla-el-logo
(Bob) git pull
(Bob) git merge arregla-el-logo
Fancy
$ git log --graph --decorate --abbrev-commit --all --pretty=oneline
Referencias adicionales
El espacio de colaboración de software más grande de la web. Millones de proyectos de código abierto. Con herramientas para administrar el código y revisarlo.
En otras palabras, puedes tener una conversación sobre proyectos con emojis y GIFs. P. ej. https://github.com/mxabierto/adela/issues/24
Git-Hub: se trabaja con Git ![]()
Existen repositorios de código de proyectos (repos), p.ej.:
- De guías de código, o del uso de Github
- Proyectos que salvarán al mundo con SMS, reportes ciudadanos, y bots del clima
- Y el proyecto
También puedes encontrar Organizaciones:
Todo mundo puede ver los proyectos y sugerir o abrir discusiones a través de Issues:
- Y U NO BURGER?
- Y U NO UPGRADE?
- Agregar issues chistosos
Pero lo más importante es cuando la comunidad o tu equipo comienza a arreglar bugs y agregar funcionalidad:
Referencias adicionales:
- GitHub Guides
- Contributing to Open Source on Github
- Understanding the GitHub flow
- Mastering Issues
- 15 rules for communicating at GitHub
Bonus (diff)
- https://github.com/mxabierto/adela/pull/136/files
- https://github.com/cameronmcefee/Image-Diff-View-Modes/commit/8e95f70c9c47168305970e91021072673d7cdad8
- https://github.com/reprap/huxley/blob/master/alternative-parts/x-blunt-plate-extended.stl
Demo:
- Navegación por Github: explore, issues, milestones, code review
- GitHub Flow: fork, clone, commit, push, pull request, discussion, merge
- Un fork del github/training-kit para hacer fixes en español https://github.com/github/training-kit
- o las slides de la presentación usando https://github.com/hakimel/reveal.js