informatica:programacion:cursos:control_version_git_avanzado
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:cursos:control_version_git_avanzado [2023/05/29 10:57] – [Temario] tempwin | informatica:programacion:cursos:control_version_git_avanzado [2023/06/16 17:05] (actual) – tempwin | ||
|---|---|---|---|
| Línea 9: | Línea 9: | ||
| ===== Objetivos ===== | ===== Objetivos ===== | ||
| - | En este curso vas a aprender cómo funciona el control de versiones más utilizado en la actualidad, | + | En este curso vas a aprender cómo funciona el control de versiones más utilizado en la actualidad, |
| - | manera de utilizarlo para evitar conflictos, y cómo manejar la consola de comandos para tener control | + | |
| - | sobre todo el registro histórico de cambios en tu proyecto. | + | |
| Conocerás las tripas de Git, que ocurre exactamente cuando haces un commit, como se organizan internamente las ramas y como entender y manejar el histórico de cambios a tu antojo. | Conocerás las tripas de Git, que ocurre exactamente cuando haces un commit, como se organizan internamente las ramas y como entender y manejar el histórico de cambios a tu antojo. | ||
| Línea 20: | Línea 18: | ||
| Dominarás las buenas prácticas de versionado y con ello reducirás el número de conflictos y la gravedad de éstos, de manera que toda la evolución del código del proyecto estará bajo tu control y el de tus compañeros de equipo. | Dominarás las buenas prácticas de versionado y con ello reducirás el número de conflictos y la gravedad de éstos, de manera que toda la evolución del código del proyecto estará bajo tu control y el de tus compañeros de equipo. | ||
| - | |||
| - | |||
| ===== Temario ===== | ===== Temario ===== | ||
| Línea 31: | Línea 27: | ||
| * 1.5 Modelo de branching | * 1.5 Modelo de branching | ||
| * 1.6 Conclusión | * 1.6 Conclusión | ||
| - | * 2. Instalación y configuración | + | * 2. [[informatica: |
| * 2.1 Introducción | * 2.1 Introducción | ||
| * 2.2 Descarga y pasos del asistente de instalación | * 2.2 Descarga y pasos del asistente de instalación | ||
| * 2.3 Configuración de Git | * 2.3 Configuración de Git | ||
| * 2.4 Conclusión | * 2.4 Conclusión | ||
| - | * 3. Fundamentos y arquitectura interna de Git | + | * 3. [[informatica: |
| * 3.1 Introducción | * 3.1 Introducción | ||
| * 3.2 Working directory y repositorio | * 3.2 Working directory y repositorio | ||
| Línea 44: | Línea 40: | ||
| * 3.6 Ignorar archivos y carpetas | * 3.6 Ignorar archivos y carpetas | ||
| * 3.7 Conclusión | * 3.7 Conclusión | ||
| - | * 4. Commits | + | * 4. [[informatica: |
| * 4.1 Introducción | * 4.1 Introducción | ||
| * 4.2 Preparación de un commit por etapas | * 4.2 Preparación de un commit por etapas | ||
| Línea 57: | Línea 53: | ||
| * 4.6 Cómo deshacer | * 4.6 Cómo deshacer | ||
| * 4.7 Conclusión | * 4.7 Conclusión | ||
| - | * 5. Conflictos | + | * 5. [[informatica: |
| * 5.1 Introducción | * 5.1 Introducción | ||
| * 5.2 Qué significan y cómo resolverlos | * 5.2 Qué significan y cómo resolverlos | ||
| * 5.3 Herramientas para resolver conflictos | * 5.3 Herramientas para resolver conflictos | ||
| * 5.4 Conclusión | * 5.4 Conclusión | ||
| - | * 6. Branching | + | * 6. [[informatica: |
| * 6.1 Introducción | * 6.1 Introducción | ||
| * 6.2 El modelo de ramas de Git | * 6.2 El modelo de ramas de Git | ||
| Línea 83: | Línea 79: | ||
| * 6.7.2 Poniendo en práctica git flow | * 6.7.2 Poniendo en práctica git flow | ||
| * 6.8 Conclusión | * 6.8 Conclusión | ||
| - | * 7. Repositorios remotos | + | * 7. [[informatica: |
| * 7.1 Introducción | * 7.1 Introducción | ||
| * 7.2 Servidores Git: GitHub, Bitbucket, GitLab, Azure DevOps / Team Foundation Server | * 7.2 Servidores Git: GitHub, Bitbucket, GitLab, Azure DevOps / Team Foundation Server | ||
| Línea 94: | Línea 90: | ||
| * 7.4.3 Comandos para comunicarnos con el remoto | * 7.4.3 Comandos para comunicarnos con el remoto | ||
| * 7.5 Conclusión | * 7.5 Conclusión | ||
| - | * 8. Interfaces gráficas | + | * 8. [[informatica: |
| * 8.1 Introducción | * 8.1 Introducción | ||
| * 8.2 Git GUI y gitk | * 8.2 Git GUI y gitk | ||
| Línea 103: | Línea 99: | ||
| * 8.7 Team Explorer de Visual Studio | * 8.7 Team Explorer de Visual Studio | ||
| * 8.8 Conclusión | * 8.8 Conclusión | ||
| - | * 9. Submódulos | + | * 9. [[informatica: |
| * 9.1 Introducción | * 9.1 Introducción | ||
| * 9.2 Repositorios anidados | * 9.2 Repositorios anidados | ||
| * 9.3 Como crearlos y como trabajar con ellos | * 9.3 Como crearlos y como trabajar con ellos | ||
| * 9.4 Conclusión | * 9.4 Conclusión | ||
| - | * 10. Pull Requests | + | * 10. [[informatica: |
| * 10.1 Introducción | * 10.1 Introducción | ||
| * 10.2 Creación de PR y discusión del código | * 10.2 Creación de PR y discusión del código | ||
| Línea 115: | Línea 111: | ||
| * 10.5 Conclusión | * 10.5 Conclusión | ||
| - | ===== Prácticas | + | ===== Test de conocimientos |
| + | **¿Qué significa que Git sea un sistema distribuido de control de versiones? | ||
| - | ===== Recursos ===== | + | * **Que cada usuario tiene su propia copia del código del proyecto en el disco duro.** |
| + | * Que hay un servidor central que almacena los cambios del archivo. | ||
| + | * Que solo se puede trabajar con una versión del código a la vez. | ||
| + | * Que se necesita una conexión a internet para usar Git. | ||
| + | **¿Qué ventaja tiene que la mayoría de las operaciones en Git sean locales?** | ||
| + | |||
| + | * Que se puede trabajar sin conexión a internet. | ||
| + | * Que se reduce el riesgo de perder datos o sufrir ataques. | ||
| + | * Que se mejora el rendimiento y la velocidad de Git. | ||
| + | * **Todas las anteriores.** | ||
| + | |||
| + | **¿Qué es una suma de comprobación y para qué sirve en Git?** | ||
| + | |||
| + | * **Es un código único que identifica cada archivo o directorio en Git y sirve para verificar su integridad y evitar su alteración**. | ||
| + | * Es un número que indica el tamaño de cada archivo o directorio en Git y sirve para optimizar el espacio y el tiempo de transferencia. | ||
| + | * Es una etiqueta que se asigna a cada archivo o directorio en Git y sirve para clasificarlos según su tipo o función. | ||
| + | * Es un comando que se ejecuta en Git y sirve para comparar dos versiones del código y mostrar sus diferencias. | ||
| + | |||
| + | **¿Qué significa que un archivo esté modificado, preparado o confirmado en Git?** | ||
| + | |||
| + | * Que ha sido creado, editado o eliminado respectivamente. | ||
| + | * Que ha sido revisado, aprobado o rechazado respectivamente. | ||
| + | * **Que ha sido cambiado, añadido al área de preparación o guardado permanentemente respectivamente.** | ||
| + | * Que ha sido fusionado, bifurcado o clonado respectivamente. | ||
| + | |||
| + | **¿Qué diferencia hay entre un repositorio local y uno remoto?** | ||
| + | |||
| + | * Que el local se guarda en el disco duro del usuario y el remoto se guarda en un servidor o plataforma externa. | ||
| + | * Que el local solo puede ser accedido por el usuario y el remoto puede ser compartido con otros usuarios. | ||
| + | * Que el local solo contiene los archivos modificados y el remoto contiene todo el historial de cambios. | ||
| + | * **Todas las anteriores** | ||
| + | |||
| + | **¿Qué ventaja tiene trabajar con ramas en git?** | ||
| + | |||
| + | * Que permite experimentar con nuevas funcionalidades sin afectar al código principal. | ||
| + | * Que facilita la colaboración entre varios desarrolladores sin generar conflictos. | ||
| + | * Que permite mantener varias versiones del código para distintos propósitos. | ||
| + | * **Todas las anteriores.** | ||
| + | |||
| + | **¿Qué ocurre cuando hay un conflicto al fusionar dos ramas en git?** | ||
| + | |||
| + | * Que se borra una de las ramas y se conserva la otra. | ||
| + | * Que se crea una nueva rama con los cambios combinados. | ||
| + | * **Que se detiene la fusión y se muestra al usuario los archivos conflictivos para que los resuelva manualmente.** | ||
| + | * Que se aplica un algoritmo que decide qué cambios prevalecen sobre los otros. | ||
| + | |||
| + | **¿Qué comando se usa para crear un nuevo repositorio local en git?** | ||
| + | |||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué comando se usa para copiar un repositorio remoto a local?** | ||
| + | |||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué comando se usa para ver el estado de los archivos modificados? | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué comando se usa para añadir todos los archivos modificados al área de preparación? | ||
| + | |||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * Todas las anteriores. | ||
| + | |||
| + | **¿Qué comando se usa para guardar los cambios en el repositorio local con un mensaje " | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * **'' | ||
| + | * Todas las anteriores. | ||
| + | |||
| + | **¿Qué comando se usa para enviar los cambios al repositorio remoto llamado origin en la rama main?** | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué comando se usa para recibir los cambios del repositorio remoto y fusionarlos con el local?** | ||
| + | |||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * Ninguna de las anteriores. | ||
| + | |||
| + | **¿Qué comando se usa para crear una nueva rama llamada feature?** | ||
| + | |||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | * Todas las anteriores. | ||
| + | |||
| + | **¿Qué comando se usa para cambiar a la rama feature o crearla si no existe?** | ||
| + | |||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | * Todas las anteriores. | ||
| + | |||
| + | **¿Qué comando se usa para crear un pull request desde la terminal?** | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * **Ninguno de los anteriores**. | ||
| + | |||
| + | **¿Qué flujo de git usa ramas específicas para el desarrollo, la integración, | ||
| + | |||
| + | * Feature Branch Workflow | ||
| + | * **Gitflow Workflow** | ||
| + | * Forking Workflow | ||
| + | * Ninguno de los anteriores. | ||
| + | |||
| + | **¿Qué flujo de git permite a los desarrolladores trabajar en su propio repositorio y enviar pull requests al repositorio oficial?** | ||
| + | |||
| + | * Feature Branch Workflow | ||
| + | * Gitflow Workflow | ||
| + | * **Forking Workflow** | ||
| + | * Ninguno de los anteriores. | ||
| + | |||
| + | **¿Qué flujo de git usa una sola rama principal y varias ramas de funcionalidades que se integran mediante pull requests?** | ||
| + | |||
| + | * **Feature Branch Workflow** | ||
| + | * Gitflow Workflow | ||
| + | * Forking Workflow | ||
| + | * Ninguno de los anteriores. | ||
| + | |||
| + | **¿Qué comando se usa para agregar un submódulo a un proyecto existente? | ||
| + | |||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué comando se usa para actualizar el contenido de los submódulos? | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué archivo almacena la información sobre los submódulos? | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | |||
| + | **¿Qué opción se puede usar para clonar un repositorio con todos sus submódulos? | ||
| + | |||
| + | * '' | ||
| + | * **'' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ===== Prácticas ===== | ||
| + | |||
| + | * [[informatica: | ||
| + | ===== Recursos ===== | ||
| + | * [[https:// | ||
informatica/programacion/cursos/control_version_git_avanzado.1685350623.txt.gz · Última modificación: por tempwin
