PPT Git GitHub

2,364 views
2,203 views

Published on

Published in: Education, Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,364
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
86
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

PPT Git GitHub

  1. 1. Sistemas de Control de Versiones<br />Angel Argueta<br />Cristian Espinoza <br />David Sevilla<br />
  2. 2. Una versión, revisión o edición de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificación. <br />Se llama control de versiones a la gestión de los diversos cambios que se realizan sobre los elementos de algún producto o una configuración del mismo. <br />El control de versiones se realiza principalmente en la industria informática para controlar las distintas versiones del código fuente. <br />
  3. 3. Clasificacion<br />Centralizados: existe un repositorio centralizado de todo el código, del cual es responsable un único usuario (o conjunto de ellos). Se facilitan las tareas administrativas a cambio de reducir flexibilidad, pues todas las decisiones fuertes (como crear una nueva rama) necesitan la aprobación del responsable. Algunos ejemplos son CVS y Subversion.<br />Distribuidos: cada usuario tiene su propio repositorio. No es necesario tomar decisiones centralizadamente. Los distintos repositorios pueden intercambiar y mezclar revisiones entre ellos. Ejemplos: Git y Mercurial <br />
  4. 4. VOcabulario<br />Repositorio: El repositorio es el lugar en el que se almacenan los datos actualizados e históricos, a menudo en un servidor. A veces se le denomina depósito.<br />Rotular ("tag"): Darle a alguna versión de cada uno de los ficheros del módulo en desarrollo en un momento preciso un nombre común ("etiqueta" o "rótulo") para asegurarse de reencontrar ese estado de desarrollo posteriormente bajo ese nombre.<br />
  5. 5. Vocabulario (cont.)<br />Revisión ("versión"): Una revisión es una versión determinada de un archivo.<br />Abrir rama ("branch") o ramificar: Un módulo puede ser branched o bifurcado en un momento de tiempo de forma que, desde ese momento en adelante, dos copias de esos ficheros puedan ser desarrolladas a diferentes velocidades o de diferentes formas, de modo independiente. El módulo tiene entonces 2 (o más) "ramas".<br />
  6. 6. Vocabulario (cont.)<br />Integración o fusión ("merge"): Una integración o fusión une dos conjuntos de cambios sobre un fichero o un conjunto de ficheros en una revisión unificada de dicho fichero o ficheros.<br />Esto puede suceder cuando un usuario, trabajando en esos ficheros, actualiza su copia local con los cambios realizados, y añadidos al repositorio, por otros usuarios. Análogamente, este mismo proceso puede ocurrir en el repositorio cuando un usuario intenta check-in sus cambios.<br />Puede suceder después de que el código haya sido branched, y un problema anterior al branching sea arreglado en una rama, y se necesite incorporar dicho arreglo en la otra.<br />Puede suceder después de que los ficheros hayan sido branched, desarrollados de forma independiente por un tiempo, y que entonces se haya requerido que fueran fundidos de nuevo en un único trunk unificado.<br />
  7. 7. Git<br />El desarrollo de Git comenzó luego que muchos desarrolladores del kernel de Linux decidieron dejar de utilizar el sistema BitKeeper. <br />Git fue diseñado por Linus Torvalds pensando en la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran numero de archivos de código fuente.<br />
  8. 8. criterios de diseño que utilizo Torvalds:<br />Tomar CVS como un ejemplo de que no hacer!<br />Soportar un flujo de trabajo distribuido como BitKeeper<br />Protección muy fuerte contra corrupción de los datos<br />Alto desempeño<br />
  9. 9. caracteristicas<br />Fuerte apoyo al desarrollo no-lineal, por ende rapidez en la gestión de ramificaciones y mezclado de diferentes versiones. <br /> Gestión distribuida. <br /> Los almacenes de información pueden publicarse por HTTP, FTP, rsync o mediante un protocolo nativo, ya sea a través de una conexión TCP/IP simple o a través de cifrado SSH. <br /> Gestión eficiente de proyectos grandes, dada la rapidez de gestión de diferencias entre archivos, entre otras mejoras de optimización de velocidad de ejecución.<br />
  10. 10. Todas las versiones previas a un cambio determinado, implican la notificación de un cambio posterior en cualquiera de ellas a ese cambio (denominado autenticación criptográfica de historial). <br />
  11. 11. Proyectos que utilizan git<br />Android<br />Debian<br />Fedora<br />Eclipse<br />CakePHP<br />GNOME<br />OpenSUSE<br />PostgreSQL<br />Ruby on Rails<br />Samba<br />VLC<br />
  12. 12. GitHub<br />Es un servicio de hospedaje web para proyectos que utilizan el sistema de control de versiones Git. GitHub ofrece tanto planes comerciales como planes gratuitos para proyectos de código abierto. <br />
  13. 13. git init<br />
  14. 14. git status<br />
  15. 15. git add<br />
  16. 16. git diff<br />
  17. 17. git commit <br />
  18. 18. git branch<br />
  19. 19. git checkout<br />
  20. 20. git merge<br />
  21. 21. git push<br />
  22. 22. github.com<br />
  23. 23. GitX<br />
  24. 24.
  25. 25. GRAcias!!<br />

×