Administra tu código con Git y Github

download Administra tu código con Git y Github

If you can't read please download the document

description

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

Transcript of Administra tu código con Git y Github

  • 1. Administra tu Cdigo con Git y Github Javier Novoa C.

2. Administra tu Cdigo con Git y Github Control de versiones Git

  • Breve resea histrica 3. Cmo funciona 4. Ejemplo

Github

  • Importancia para el cdigo abierto 5. Ejemplos

6. Primero, una historia... 7. Primero, una historia... i 8. Primero, una historia... i 9. Y, si existiera una mquina que...? i 10. 'Versionando' en la construccin... i 11. Control de Versiones Repositorio de Cdigo Clone (o checkout) Working Copy Update 12. Control de Versiones Repositorio de Cdigo Working Copy Update Commit Merge 13. Control de Versiones Repositorio de Cdigo Conflicto 14. Control de Versiones 15. Manejo de Branches 16. Control de Versiones

  • Ventajas:
  • Historial de todos los cambios, con sus autores
  • Organizacin 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...

  • Cdigo fuente programadores
  • HTML y CSS diseadores 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 (leccin sobre sw libre??)
  • VCS Distribuido
  • Alto desempeo

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: Lnea 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 (va 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 pblico y gratuito 34. (se pueden contratar 35. repositorios privados)

https://github.com/ 36. Forza a los proyectos a tener un README = carta de presentacin 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 ms popular en cantidad de proyectos, tanto en originales como en forks de otros proyectos. Y 3er lugar en nmero 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 cdigo con git remote y git push) o haz FORK a un proyecto existente (y baja el cdigo 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 Catao @JaviStitch https://github.com/jstitch http://invernalia.homelinux.net/jstitch Preguntas?

Administra tu Cdigo con Git y Github