Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

Introducción al desarrollo de software en comunidad con forja de software y git

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Prochain SlideShare
Taller GitHub
Taller GitHub
Chargement dans…3
×

Consultez-les par la suite

1 sur 21 Publicité

Introducción al desarrollo de software en comunidad con forja de software y git

Télécharger pour lire hors ligne

Presentación "Introducción al desarrollo de software en comunidad con forja de software y git" impartida por Manuel Palomo y Pablo García en la Escuela Superior de Ingeniería de la Universidad de Cádiz a petición de la Game Development Association of the University of Cádiz

Presentación "Introducción al desarrollo de software en comunidad con forja de software y git" impartida por Manuel Palomo y Pablo García en la Escuela Superior de Ingeniería de la Universidad de Cádiz a petición de la Game Development Association of the University of Cádiz

Publicité
Publicité

Plus De Contenu Connexe

Diaporamas pour vous (20)

Similaire à Introducción al desarrollo de software en comunidad con forja de software y git (20)

Publicité

Plus récents (20)

Publicité

Introducción al desarrollo de software en comunidad con forja de software y git

  1. 1. Manuel Palomo Duarte Pablo García Sánchez Departamento de Ing. Informática Introducción al desarrollo de software en comunidad con forja de software y git
  2. 2. Contenidos ● ¿Qué es una forja de software? ● Forjas ● Control de versiones de código fuente ● Git ● Servicios más avanzados
  3. 3. ¿Qué es una forja de software? ● La Forja es una web (pública) que ofrece facilidades para el desarrollo de software (libre): – Clasificación y estadísticas del proyecto – Repositorio de control de versiones de código (navegable y comparable) – Listas de correo – Foros, noticias (RSS), wikis, notificaciones – Publicación de binarios y documentos – Gestión de tareas y errores con tickets ● Desarrollo eficiente, transparencia y visibilidad
  4. 4. Forjas de software ● Forja de código – https://github.com – https://bitbucket.org – https://forja.cica.es – ... ● Y hay muchas más, cada una con sus ventajas e inconvenientes: – https://en.wikipedia.org/wiki/Comparison_of_source_code_hosting_facilities ● Veamos un ejemplo de proyecto: Prepack ● https://github.com/facebook/prepack
  5. 5. Control de versiones de código fuente ● Probablemente la función más destacada de una forja es la de ofrecer un control de versiones de código fuente, que: – Mantiene copias de todas las versiones del código fuente en el servidor con sus autores – Permite recuperar versiones anteriores y compararlas con otras recientes (diff/tkdiff) – Funde las aportaciones de varios usuarios :-O – Permite establecer determinados flujos de trabajo – Genera estadísticas (con http://gource.io, GitStats, etc)
  6. 6. Control de versiones de código fuente ● Todo empezó con CVS (1986) ● Después llegó SVN, “CVS done right” ● Y el que se ha implantado masivamente en los últimos años es git – Permite hacer lo mismo que SVN ● Mucha gente es lo único que usa de git ;) – También permite la gestión distribuida ● Existen otras alternativas: Bazaar, etc ● Disponible desde línea de comandos, entorno gráfico (Tortoise) o integrados en IDE (Eclipse)
  7. 7. Control de versiones de código fuente ● Actualmente Github es un estándar “de facto” para demostrar al mundo (comunidad, empresas, etc) tus habilidades como desarrollador – No se busca que todo lo que haya sea bueno: todos hemos empezado desde abajo – Sí que se vaya aprendiendo ● Y que lo que sea inestable se etiquete como tal ● Ejemplo: – https://github.com/saltares
  8. 8. Servicios más avanzados ● Hay servicios más avanzados: – Gestores de (determinados binarios) para sistemas de control de versiones – Integración con otras herramientas – Testing continuo – ...
  9. 9. Para los que vienen de DropBox ● La forja es “como la nube de DropBox” – Pero montada en condiciones para programadores ● Para gestionar (mandar, recibir, etc) código se usa un control de versiones (git, svn, etc) que la forja soporte – Hay forja soportan varios: bitbucket admite git y svn ● Pero en cada proyecto sólo puede usar uno ● Programas en tu equipo como siempre: – Eclipse, emacs, codeblocks, ...
  10. 10. Git ● Sistema de control de versiones ● Distribuido ● Usa línea de comandos ● Creado por y para Linux ● Permite el despliegue de aplicaciones e integración continua Wikipedia Commons ­ CC
  11. 11. ¿Cómo funciona? Cc-by Wikimedia Commons
  12. 12. Crear repositorio local ● A) Crear repositorio local y añadir la URL remota – git init – git remote add origin URL ● B) Clonar repositorio remoto directamente (más fácil) – git clone URL CC-BY Jurvetson https://www.flickr.com/photos/jurvets on/3327872958
  13. 13. Lo primero que deberíamos crear ● LICENSE ● README ● .gitignore
  14. 14. PULL: Bajarse cambios remotos ● git pull ● git pull origin master ● git pull origin rama_concreta
  15. 15. COMMIT: Añadir cambios al repositorio local 1) ¿Cómo está el tema? – git status 2) On your marks! Indicar qué ficheros van a entrar en el commit (a diferencia de otros gestores, que siempre guardan cualquier cambio) – git add FICHERO #(OJOCUIDAO CON ESTO!) – git rm FICHERO – git mv FICHERO LOQUESEA ● 3) ¡Pa entro! – git commit ­m “He cambiado tal cosa” – git commit ­am “He cambiado tal cosa, pero subo todos  los modificados sin pensar”
  16. 16. PUSH: Subir al repositorio remoto ● git push Cc-by Wikipedia Commons
  17. 17. OH NOES! ● Alguien ha hecho cambios antes que yo! ● Si es en ficheros distintos – git pull – No hay problema – git push ● Si hemos tocado el mismo fichero – git pull – MERGE EN EL FICHERO! – Se arregla el fichero si hace falta – git commit ­am “Juntando to” – git push ● Oh Shit git! ohshitgit.com CC-BY Donny Ray Jones https://www.flickr.com/photos/d onnieray/11865356303
  18. 18. Me voy por las ramas ● Creamos rama – git branch nueva­rama ● Nos movemos a la rama – git checkout nueva­rama ● ¿Ande estoy? – git branch ● Unimos ramas – git merge la­otra https://www.flickr.com/photos/fwolf/3389188179 CC-BY-SA-NC
  19. 19. Cosas guays de Github ● Fork: copiarme un repo a mi cuenta para no molestar al dueño ● Pull Request: solicitar al dueño que meta mis cambios en su repo ● Issues: Tareas pendientes. Pueden vincularse a commits para cerrarlos o citarlos. ● Claves ssh: evitar meter usuario y contraseña.
  20. 20. Agradecimientos ● Presentación: El Zen de Git http://www.psicobyte.com/info/descargas
  21. 21. Gracias por la atención ¿Preguntas?

×