Administrar las versiones del código fuente de tus programas puede facilitarles la vida no sólo a ti, sino a tu equipo, y a toda la gente que se involucre con él a lo largo del tiempo. Los versionadores son herramientas muy útiles hoy en día para proyectos de software de todos los tipos, en particular los proyectos de software libre se ven muy beneficiados con estas herramientas. Git es una de ellas, y el sitio Github una forma muy popular de usarla.
Recomendable descargarla por las animaciones de las diapositivas, que se aprecian mejor a verlas estáticas.
Codigo fuente del ejemplo: https://github.com/jstitch/helloworld
26. http://book.git-scm.com/ Interfaces para usar Git: Línea de comandos (y siempre es bueno conocerla antes que nada) Linux Windows Mac Es necesario para usar cualquier GUI git (viene con su distro) git (vía MacPorts) msysgit git en cygwin git-scm.com code.google.com/p/msysgit/ cygwin.com http://progit.org/book/
36. Forza a los proyectos a tener un README = carta de presentación para los proyectos Orientado al desarrollador = identificas todo lo que éste ha hecho, un plus al ego ;) Permite seguimiento sencillo de proyectos y de cada detalle de los mismos Incluso se está convertiendo en el nuevo Curriculum de los desarrolladores!!! github SOCIAL CODING
38. Es el sitio de hosteo de software más popular en cantidad de proyectos, tanto en originales como en forks de otros proyectos. Y 3er lugar en número de usuarios http://en.wikipedia.org/wiki/Comparison_of_open_source_software_hosting_facilities github SOCIAL CODING
42. ¡Crea tu cuenta! Crea un proyecto (y sube tu código con git remote y git push) o haz FORK a un proyecto existente (y baja el código con git clone y git pull) Y haz cambios, luego solicita un pull-request ¡¡¡ COMPARTE !!! github SOCIAL CODING
43.
Notas del editor
O 've con un arquitecto y presúmele que tú puedes hacer algo con tus proyectos que él no' :P
El índice...
Un intento de metáfora para explicar un par de necesidades básicas que resuelven los versionadores... Tres personajes: una arquitecta, un maestro albañil, y un eléctrico. Los 3 trabajando en la industria de la construcción de casas, en esta ocasión en un mismo proyecto...
El cliente exigente pide un cambio sobre una parte de la casa que ya estaba terminada. La idea no gusta...
El eléctrico hace un cambio por su cuenta y la arquitecta debe modificar los planos...
Ésta máquina se parece a la propuesta por RMS sobre máquinas para copiar objetos :P Usando la máquina los cambios que haga la arquitecta sobre el plano (y que meta a la máquina con el botón 'C'), se reflejan en automático en la casa cuando se apriete el botón 'U'.
Incluso cambios que se metan a la casa, se reflejan en el plano, y por otro lado si hay cambios sobre una misma parte de la casa y del plano, la máquina marca conflicto, se resuelve y listo! Desafortunadamente, esta máquina no existe...
La misma explicación, pero sin metáfora, ahora sí con código fuente... La máquina si existe para los programadores, se llama 'Sistema de Control de Versiones'
Caso de un merge de cambios...
Caso de un conflicto por resolver...
Esquema MUY general del proceso de uso de un versionador
Una de tantas aplicaciones de versionadores: control de cambios vía branches
Y muchas más! Pero esas son las que me vinieron a la mente, y las que considero más llamativas para el público
Con tal de abarcar muchas áreas, ahí hay programadores, diseñadores y hasta electrónicos!
Breve explicación de cómo son los centralizados (ésta diapositiva podría omitirse, no se qué tan conveniente sea explicar ésto al público)
Igual que la anterior, para versionadores distribuidos... misma nota sobre posible omisión
Historia de Git, características generales
Explicación en esquema de cómo usar Git en sus diferentes facetas. Diapositiva animada...!
Interfaces para usar Git, con línea de comandos...
Interfaces gráficas para usar Git, vía web y con IDEs...
Aquí iría el ejemplo en vivo de, tal vez, los mismos casos ejemplificados en la historia del principio, pero con un proyecto real...
Características de github
Algunas razones para usar github
Un ejemplo de una cuenta de Github y un proyecto, mostrando el README, código, Url para clonar, commits, comentarios a los mismos
Otras razones para usar github, dirigidas a los que les gustan las estadísticas ;)
Mostrar cómo se hace un fork y para qué sirve
Otras razones para usar github, dirigidas a los que les gusta el renombre XD
Un ejemplo de cómo se hizo un fork y pull-request de un proyecto real
Muy breves pasos para usar Github, a modo de conclusión