Herramientas de usuario

Herramientas del sitio


informatica:programacion:cursos:control_version_git_avanzado

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:cursos:control_version_git_avanzado [2023/05/29 11:17] – [Temario] tempwininformatica: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, cual es la mejor +En este curso vas a aprender cómo funciona el control de versiones más utilizado en la actualidad, cuál es la mejor 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.
-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 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:programacion:cursos:control_version_git_avanzado:interfaces_graficas|Interfaces gráficas]]
     * 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:programacion:cursos:control_version_git_avanzado:submodulos|Submódulos]]
     * 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:programacion:cursos:control_version_git_avanzado:pull_requests|Pull Requests]]
     * 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?**
 +
 +  * **''git init''**
 +  * ''git clone''
 +  * ''git status''
 +  * ''git add''
 +
 +**¿Qué comando se usa para copiar un repositorio remoto a local?**
 +
 +  * ''git init''
 +  * **''git clone''**
 +  * ''git status''
 +  * ''git add''
 +
 +**¿Qué comando se usa para ver el estado de los archivos modificados?**
 +
 +  * ''git init''
 +  * ''git clone''
 +  * **''git status''**
 +  * ''git add''
 +
 +**¿Qué comando se usa para añadir todos los archivos modificados al área de preparación?**
 +
 +  * **''git add''**
 +  * ''git add -a''
 +  * ''git add all''
 +  * Todas las anteriores.
 +
 +**¿Qué comando se usa para guardar los cambios en el repositorio local con un mensaje "Actualización"?**
 +
 +  * ''git commit "Actualización"''
 +  * ''git commit -message "Actualización"''
 +  * **''git commit -m "Actualización"''**
 +  * Todas las anteriores.
 +
 +**¿Qué comando se usa para enviar los cambios al repositorio remoto llamado origin en la rama main?**
 +
 +  * ''git push origin main''
 +  * ''git push main origin''
 +  * ''git push %%--%%origin main''
 +  * ''git push %%--%%main origin''
 +
 +**¿Qué comando se usa para recibir los cambios del repositorio remoto y fusionarlos con el local?**
 +
 +  * **''git pull''**
 +  * ''git fetch''
 +  * ''git merge''
 +  * Ninguna de las anteriores.
 +
 +**¿Qué comando se usa para crear una nueva rama llamada feature?**
 +
 +  * **''git branch feature''**
 +  * ''git checkout feature''
 +  * ''git branch %%--%%create feature''
 +  * Todas las anteriores.
 +
 +**¿Qué comando se usa para cambiar a la rama feature o crearla si no existe?**
 +
 +  * ''git branch feature''
 +  * **''git checkout -b feature''**
 +  * ''git checkout %%--%%create feature''
 +  * Todas las anteriores.
 +
 +**¿Qué comando se usa para crear un pull request desde la terminal?**
 +
 +  * ''git pull-request''
 +  * ''git request-pull''
 +  * ''git push --request''
 +  * **Ninguno de los anteriores**.
 +
 +**¿Qué flujo de git usa ramas específicas para el desarrollo, la integración, el lanzamiento y el mantenimiento?**
 +
 +  * 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?**
 +
 +  * ''git submodule init''
 +  * **''git submodule add''**
 +  * ''git submodule clone''
 +  * ''git submodule create''
 +
 +**¿Qué comando se usa para actualizar el contenido de los submódulos?**
 +
 +  * ''git submodule pull''
 +  * ''git submodule fetch''
 +  * **''git submodule update''**
 +  * ''git submodule sync''
 +
 +**¿Qué archivo almacena la información sobre los submódulos?**
 +
 +  * ''gitignore''
 +  * ''gitconfig''
 +  * **''gitmodules''**
 +  * ''gitsubmodules''
 +
 +**¿Qué opción se puede usar para clonar un repositorio con todos sus submódulos?**
 +
 +  * ''%%--%%include-submodules''
 +  * **''%%--%%recurse-submodules''**
 +  * ''%%--%%with-submodules''
 +  * ''%%--%%all-submodules''
 +
 +===== Prácticas =====
 +
 +  * [[informatica:programacion:cursos:control_version_git_avanzado:ejercicios:ejercicio_practico_1|Ejercicio práctico 6.1]]
 +===== Recursos =====
  
 +  * [[https://education.github.com/git-cheat-sheet-education.pdf|Chuleta comandos Git]]
informatica/programacion/cursos/control_version_git_avanzado.1685351855.txt.gz · Última modificación: por tempwin