FORMACIÓN GIT “setting” a dalt!
GIT: Oficina técnica OFICINA TÉCNICA METODOLOGÍA CALIDAD DEL SOFTWARE GESTIÓN DE PROYECTOS PLANTILLAS PRUEBAS CONTROL DEL SERVICIO
GIT: Básico Descripción Características Open source Distribuido subtitulo GIT: Básico Descripción Características Open source Distribuido Integridad Snapshots 3 áreas de trabajo OK
Repositorio local y remoto Protocolos acceso GIT: Distribuido Repositorio local y remoto Protocolos acceso Local SSH Git HTTP/S Configuración (Eclipse. Egit)
GIT: Distribuido Topologías
Check-sum (SHA-1) en el almacenamiento GIT: Integridad Acceso local Réplica local del repositorio Trabajo offline Check-sum (SHA-1) en el almacenamiento Control total modificaciones Detección de corrupciones y pérdidas Implementación a nivel de núcleo
GIT: Snapshots Sistema de ficheros Foto de la situación Diferencia con SVN
GIT: Áreas de trabajo 3 áreas 3 estados Committed. Guardado en repo local Modified. Modificado en espacio de trabajo. Staged. Fichero modificado marcado para posterior commit. 3 áreas Directorio trabajo Staging Repositorio
GIT: Áreas de trabajo Repositorio Staging Directorio trabajo Base de datos donde se almacenan los metadatos y objetos. Resultado de un clone. Comprimido Directorio trabajo Un checkout de una versión del proyecto. Se extraen del repositorio como ficheros de trabajo. Staging Fichero que contiene información de qué irá en el siguiente commit También conocido como Index
GIT: Conceptos Rama: Línea de desarrollo. Master: Rama principal. Branching: Cambiar de rama de desarrollo Clone : Clonar un repositorio, creando todas las ramas remotas y realizar un checkout de la rama activa. Fetch: Bajar los cambios del repositorio remoto y NO mezclarlos (merge) con la rama actual. Pull: Bajar los cambios del repositorio remoto y SÍ mezclarlos (merge) con la rama actual. Commit: Guardar los cambios en el repositorio local Push: Subir los cambios al repositorio remoto
GIT: Conceptos Merge: Realiza una fusión de dos ramas a partir de una comparación a 3 bandas, creando un nuevo commit si es necesario. Reset: Restaurar el área de trabajo/repositorio a un estado determinado. Checkout: Traer una rama al entorno de trabajo.
GIT: Ejemplo flujo trabajo Track/Untrack Staged Commit Delete
EGIT: Vistas Repositorios Staging Historia Logs (Reflog) subtitulo EGIT: Vistas Repositorios Staging Unstaged (modificados) Staged Commit Historia Logs (Reflog) OK
EGIT: Vistas Commit Búsqueda Info Diferencias Notas subtitulo EGIT: Vistas Commit Info Diferencias Notas Búsqueda Eclipse: Buscar texto en repositorios OK
GIT: Ramas Commit y snapshot Punteros al snapshot y padres HEAD Rama master (defecto)
GIT: Ramas Una rama es un puntero a un commit concreto.
GIT: Ramas Crear rama Apunta al commit actual
GIT: Ramas HEAD representa nuestro puntero a la rama actual.
GIT: Ramas Cambio de rama
GIT: Ramas Creación de un nuevo commit en la rama actual
Merge básico (fast-forward) GIT: Ramas - Merge Merge básico (fast-forward) Checkout master Merge hotfix FF: Mover el puntero porque no hay trabajo divergente
Merge básico (auto-merge) GIT: Ramas - Merge Merge básico (auto-merge) Checkout master Merge iss53 Divergencia entre los ancestros Creación de nuevo commit mediante comparación a 3 niveles
Merge básico (conflictos) GIT: Ramas - Merge Merge básico (conflictos) Marcas estándar de resolución de conflictos Arreglar conflictos Añadir de nuevo a staged Commit
GIT: Deshacer Cambiar último commit (amend) Unstaging subtitulo GIT: Deshacer Cambiar último commit (amend) Unstaging Deshacer un fichero modificado Restaurar a partir de un commit determinado Soft Medium Hard Revert commit Clean OK
GIT: .gitignore Fichero para definir qué descartamos del control de versiones Definido en la raíz del proyecto
GIT: Tags Tags (descripción) subtitulo GIT: Tags Tags (descripción) Reemplazar tag (no subido al repositorio remoto) Eliminar tags OK
GIT: Repositorio remoto subtitulo GIT: Repositorio remoto Fetch Pull Push Referencias: Origin OK
GIT: Conceptos avanzados Rebase: Reaplicar los cambios de una rama a otra, manteniendo una historia lineal. Stashing: Guardar los ficheros modificados y en estado staged en una pila (stack) de cambios inacabados, los cuales pueden recuperarse posteriormente. Squash: Unificar varios commits en uno solo. Cherry-pick: Coger un commit específico de una rama y reaplicarlo sobre la rama actual. Reword: Modificar mensaje de un commit
GIT: Ramas - Rebase Rebase Rebase aplica los cambios de una línea de trabajo sobre otra en el orden en que fueron creados, mientras que merge coge los puntos finales y los combina juntos. Mantiene una historia linear No hacer rebase sobre commits ya subidos a repositorio remoto
GIT: Metodología de trabajo
GIT: Metodología de trabajo subtitulo GIT: Metodología de trabajo Hacer commits: Solo de una tarea Estable Con sentido Portal del Empleado: Usar la misma descripción y resolución Poner el número de ticket OK
GitLab Gitlab Usuarios Proyectos Grupos Crear nuevo proyecto en Gitlab subtitulo GitLab Gitlab Usuarios Proyectos Grupos Crear nuevo proyecto en Gitlab Importar proyecto desde Eclipse OK
SETTING CONSULTORIA 33