Administra tu código con Git y Github

  • 2,063 views
Uploaded on

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 …

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

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
2,063
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
56
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • 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
  • GRACIAS!

Transcript

  • 1. Administra tu Código con Git y Github Javier Novoa C.
  • 2. Administra tu Código con Git y Github Control de versiones Git
    • Breve reseña histórica
    • 3. Cómo funciona
    • 4. Ejemplo
    Github
    • Importancia para el código abierto
    • 5. Ejemplos
  • 6. Primero, una historia...
  • 7. Primero, una historia... i
  • 8. Primero, una historia... i
  • 9. Y, ¿si existiera una máquina que...? i
  • 10. 'Versionando' en la construcción... i
  • 11. Control de Versiones Repositorio de Código Clone (o checkout) Working Copy Update
  • 12. Control de Versiones Repositorio de Código Working Copy Update Commit Merge
  • 13. Control de Versiones Repositorio de Código Conflicto
  • 14. Control de Versiones
  • 15. Manejo de Branches
  • 16. Control de Versiones
      Ventajas:
    • Historial de todos los cambios, con sus autores
    • Organización del trabajo de un equipo
    • Los branches ayudan al control de cambios
    • Incluso en proyectos en solitario, el historial,
    • 17. el manejo de branches y el control de cambios
    • 18. son GRANDES ventajas
  • 19. Control de Versiones
      ¿Cuando se puede usar control de versiones?
    Siempre que se manejen archivos de texto plano...
    • Código fuente – programadores
    • HTML y CSS – diseñadores web
    • XML – innumerables formatos que almacenan
    • 20. en este formato (p.ej. SVG de dibujo vectorial)
    • EDIF – esquemas de circuitos
    • ETC.!!!
    ¿Y para archivos binarios?
  • 21. Versionadores Centralizados
  • 22. Versionadores Distribuidos
  • 23. Git
    • Creado por Linus Torvalds
    • Usado para el kernel de Linux luego de que se
    • 24. abandonó BitKeeper ya que éste dejó de permitir el uso gratuito (¿¿lección sobre sw libre??)
    • VCS Distribuido
    • Alto desempeño
    http://git-scm.com/
  • 25. git commit git status git diff git log git tag v 0.1 git checkout master Branch HEAD commit a020c... commit 5cb02... commit f5cb1a... git clone git remote git init git add git branch git checkout git merge git pull git fetch git push git request-pull
  • 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/
  • 27. Interfaces para usar Git: GUIs: [m=manipula; p=manipula parcialmente; v=visualiza] Linux Windows Mac git-gui [m] gitk [v] giggle [p] tig [v] TortoiseGit [m] live.gnome.org/giggle jonas.nitro.dk/tig/ code.google.com/p/tortoisegit/ Otros: ViewGit [v] viewgit.fealdia.org Eclipse [m] Netbeans [m] Xcode [m] qgit [p] digilander.libero.it/mcostalba GitX [m] gitx.frim.nl gitnub [v] github.com/Caged/gitnub/wiki Dolphin/Nautilus/Thunar [m]
  • 28. Un Ejemplo...
  • 29. Github
    • Un sitio web para
    • 30. administrar versiones
    • 31. con git
    • Una 'forja' de
    • 32. software
    • Una 'red social' de
    • 33. programadores
    • Es público y gratuito
    • 34. (se pueden contratar
    • 35. repositorios privados)
    https://github.com/
  • 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
  • 37. Ejemplo... 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
  • 39. ¿Qué es un fork? github SOCIAL CODING
  • 40. ¿Qué proyectos lo usan? p. ej.: github SOCIAL CODING Ruby on Rails
  • 41. Un Pull Request... 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.
      (o 'Presume a un arquitecto lo que tú si puedes hacer y él no' ;) ¡¡¡ MUCHAS GRACIAS !!! Javier Novoa Cataño @JaviStitch https://github.com/jstitch http://invernalia.homelinux.net/jstitch ¿Preguntas?
    Administra tu Código con Git y Github