Download pptx - PPT Git GitHub

Transcript
  • 1. Sistemas de Control de Versiones
    Angel Argueta
    Cristian Espinoza
    David Sevilla
  • 2. Una versin, revisin o edicin de un producto, es el estado en el que se encuentra dicho producto en un momento dado de su desarrollo o modificacin.
    Se llama control de versiones a la gestin de los diversos cambios que se realizan sobre los elementos de algn producto o una configuracin del mismo.
    El control de versiones se realiza principalmente en la industria informtica para controlar las distintas versiones del cdigo fuente.
  • 3. Clasificacion
    Centralizados: existe un repositorio centralizado de todo el cdigo, 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 aprobacin del responsable. Algunos ejemplos son CVS y Subversion.
    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
  • 4. VOcabulario
    Repositorio: El repositorio es el lugar en el que se almacenan los datos actualizados e histricos, a menudo en un servidor. A veces se le denomina depsito.
    Rotular ("tag"): Darle a alguna versin de cada uno de los ficheros del mdulo en desarrollo en un momento preciso un nombre comn ("etiqueta" o "rtulo") para asegurarse de reencontrar ese estado de desarrollo posteriormente bajo ese nombre.
  • 5. Vocabulario (cont.)
    Revisin ("versin"): Una revisin es una versin determinada de un archivo.
    Abrir rama ("branch") o ramificar: Un mdulo 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 mdulo tiene entonces 2 (o ms) "ramas".
  • 6. Vocabulario (cont.)
    Integracin o fusin ("merge"): Una integracin o fusin une dos conjuntos de cambios sobre un fichero o un conjunto de ficheros en una revisin unificada de dicho fichero o ficheros.
    Esto puede suceder cuando un usuario, trabajando en esos ficheros, actualiza su copia local con los cambios realizados, y aadidos al repositorio, por otros usuarios. Anlogamente, este mismo proceso puede ocurrir en el repositorio cuando un usuario intenta check-in sus cambios.
    Puede suceder despus de que el cdigo haya sido branched, y un problema anterior al branching sea arreglado en una rama, y se necesite incorporar dicho arreglo en la otra.
    Puede suceder despus 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.
  • 7. Git
    El desarrollo de Git comenz luego que muchos desarrolladores del kernel de Linux decidieron dejar de utilizar el sistema BitKeeper.
    Git fue diseado 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 cdigo fuente.
  • 8. criterios de diseo que utilizo Torvalds:
    Tomar CVS como un ejemplo de que no hacer!
    Soportar un flujo de trabajo distribuido como BitKeeper
    Proteccin muy fuerte contra corrupcin de los datos
    Alto desempeo
  • 9. caracteristicas
    Fuerte apoyo al desarrollo no-lineal, por ende rapidez en la gestin de ramificaciones y mezclado de diferentes versiones.
    Gestin distribuida.
    Los almacenes de informacin pueden publicarse por HTTP, FTP, rsync o mediante un protocolo nativo, ya sea a travs de una conexin TCP/IP simple o a travs de cifrado SSH.
    Gestin eficiente de proyectos grandes, dada la rapidez de gestin de diferencias entre archivos, entre otras mejoras de optimizacin de velocidad de ejecucin.
  • 10. Todas las versiones previas a un cambio determinado, implican la notificacin de un cambio posterior en cualquiera de ellas a ese cambio (denominado autenticacin criptogrfica de historial).
  • 11. Proyectos que utilizan git
    Android
    Debian
    Fedora
    Eclipse
    CakePHP
    GNOME
    OpenSUSE
    PostgreSQL
    Ruby on Rails
    Samba
    VLC
  • 12. GitHub
    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 cdigo abierto.
  • 13. git init
  • 14. git status
  • 15. git add
  • 16. git diff
  • 17. git commit
  • 18. git branch
  • 19. git checkout
  • 20. git merge
  • 21. git push
  • 22. github.com
  • 23. GitX
  • 24.
  • 25. GRAcias!!

Recommended