Ejemplo de Examen Avanzado sobre Git para FP Superior en Desarrollo de Aplicaciones Web (DAW) o Desarrollo de Aplicaciones Multiplataforma (DAM)

Este examen está diseñado para probar conocimientos avanzados y expertos en Git, enfocándose en situaciones complejas y comandos menos comunes que podrían encontrarse en escenarios reales de desarrollo de software. Es ideal para estudiantes de Formación Profesional Superior que ya tienen una buena base en Git y buscan profundizar su comprensión.


Pregunta 1: Recuperación de Commits

¿Cómo recuperarías un commit que ha sido eliminado accidentalmente debido a un git reset --hard?

Respuesta:

git reflog
# Encuentra el commit deseado en la lista, y luego:
git reset --hard COMMIT_ID

Pregunta 2: Modificar un Commit Previo

¿Qué comandos utilizarías para modificar el mensaje del último commit realizado?

Respuesta:

git commit --amend -m "Nuevo mensaje del commit"

Pregunta 3: Reordenar Commits

Si quieres cambiar el orden de los últimos tres commits, ¿qué herramienta de Git utilizarías y cómo la iniciarías?

Respuesta:

git rebase -i HEAD~3
# En el editor interactivo, reordena las líneas de los commits según deseado.

Pregunta 4: Resolver Conflictos

Explica cómo resolverías un conflicto de merge entre dos ramas, main y feature-x.

Respuesta:

  1. Ejecuta git merge feature-x estando en la rama main.
  2. Abre los archivos conflictivos y edita el código para resolver los conflictos.
  3. Usa git add . para marcar los conflictos como resueltos.
  4. Completa el merge con git commit para crear un nuevo commit de merge.

Pregunta 5: Estrategias de Merge

¿Qué comando usarías para realizar un merge de la rama feature-x a main utilizando la estrategia ‘ours’?

Respuesta:

git checkout main
git merge -s ours feature-x

Pregunta 6: Búsqueda en Repositorio

¿Cómo buscarías en tu historial de commits cualquier commit que contenga la palabra ‘bugfix’?

Respuesta:

git log --grep='bugfix'

Pregunta 7: Cherry-pick de Commits

¿Cómo aplicarías un commit específico de una rama a otra? Supón que el commit tiene un hash de abc1234.

Respuesta:

git checkout rama-destino
git cherry-pick abc1234

Pregunta 8: Stashing

Explica cómo salvarías cambios temporales en una stash y luego los aplicarías en otra rama.

Respuesta:

  1. Guarda los cambios temporales:
   git stash
  1. Cambia a la otra rama:
   git checkout otra-rama
  1. Aplica la stash:
   git stash pop

Pregunta 9: Rebase Interactivo

¿Cómo eliminarías un commit específico de una serie de commits utilizando rebase interactivo?

Respuesta:

  1. Inicia el rebase interactivo:
   git rebase -i HEAD~X # X es el número de commits hacia atrás que deseas revisar.
  1. En la lista que aparece, cambia ‘pick’ a ‘drop’ al lado del commit que deseas eliminar.

Pregunta 10: Submódulos en Git

¿Cómo agregarías un submódulo a tu repositorio?

Respuesta:

git submodule add URL_DEL_SUBMODULO ruta/relativa/del/submodulo
git commit -m "Agregado submódulo"

Conclusión

Este examen avanzado está diseñado para medir la habilidad de los estudiantes de FP Superior en DAW o DAM para manejar situaciones complejas en Git, desde la recuperación de commits eliminados hasta el manejo avanzado de submódulos y estrategias de merge. Dominar estos aspectos avanzados de Git es crucial para cualquier desarrollador que aspire a trabajar en entornos de desarrollo sofisticados y colaborativos.

black laptop computer turned on showing computer codes
Photo by Markus Spiske on Pexels.com

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.