128 lines
6.1 KiB
JSON
128 lines
6.1 KiB
JSON
[{
|
|
"origin": "Gemini 3 Flash",
|
|
"sources": [
|
|
"https://git-scm.com/book/es/v2",
|
|
"https://atlassian.com/es/git/tutorials"
|
|
],
|
|
"title": "Git Avanzado: Flujos, Remotos y Configuración",
|
|
"group": "git_master_block_tocho_001",
|
|
"variables": {
|
|
"niveles_config": ["list", ["--local", "--global", "--system"]],
|
|
"estados_git": ["list", ["{Working Directory}", "{Staging Area (Index)}", "{Git Directory (Repository)}"]],
|
|
"acciones_stash": ["list", ["pop", "apply", "drop", "list", "clear"]],
|
|
"tipos_merge": ["list", ["fast-forward", "recursive", "ours", "theirs", "octopus"]]
|
|
},
|
|
"queries": [{
|
|
"question": "¿Qué {rand:parámetro|opción} de 'git stash' permite {rand:recuperar|restaurar} los cambios guardados {rand:eliminándolos|borrándolos} de la lista de estados ocultos?",
|
|
"rights": [
|
|
"git stash {rand:pop|pop stash@{0}}."
|
|
],
|
|
"wrongs": [
|
|
"git stash {rand:apply|apply --index}.",
|
|
"git stash {rand:drop|drop all}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Apply restaura los cambios pero los mantiene en la lista de 'stashes' para su uso posterior.",
|
|
"Drop elimina un estado oculto de la lista pero no aplica los cambios al directorio de trabajo."
|
|
]
|
|
}, {
|
|
"question": "¿En qué {rand:nivel|fichero} de configuración se guardan las opciones {rand:específicas|propias} de un {rand:único repositorio|proyecto concreto}?",
|
|
"rights": [
|
|
"git config {rand:--local|.git/config}."
|
|
],
|
|
"wrongs": [
|
|
"git config {rand:--global|~/.gitconfig}.",
|
|
"git config {rand:--system|/etc/gitconfig}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"El nivel global afecta a todos los repositorios del usuario actual en el sistema.",
|
|
"El nivel system afecta a todos los usuarios y todos los repositorios del sistema operativo."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:comando|acción} se utiliza para {rand:establecer|configurar} una conexión con un {rand:servidor externo|repositorio remoto} por primera vez?",
|
|
"rights": [
|
|
"git remote {rand:add|add origin} <url>."
|
|
],
|
|
"wrongs": [
|
|
"git remote {rand:set-url|rename} origin <url>.",
|
|
"git remote {rand:show|v} origin."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Set-url se usa para modificar una dirección de un remoto que ya ha sido añadido previamente.",
|
|
"Show y -v sirven para visualizar la información de los remotos, no para crearlos."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:estrategia|tipo} de 'merge' ocurre cuando la {rand:rama de destino|rama base} no tiene {rand:commits nuevos|modificaciones} y solo se mueve el puntero hacia adelante?",
|
|
"rights": [
|
|
"Un merge de tipo {rand:fast-forward|avance rápido}."
|
|
],
|
|
"wrongs": [
|
|
"Un merge de tipo {rand:recursive|recursivo}.",
|
|
"Un merge de tipo {rand:octopus|pulpo}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"El modo recursivo es el que crea un commit de fusión cuando ambas ramas han divergido con cambios distintos.",
|
|
"El modo octopus se utiliza para fusionar más de dos ramas simultáneamente en un solo movimiento."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:área|estado} de Git {rand:contiene|almacena} los archivos modificados que {rand:van a ser incluidos|están listos para} el próximo commit?",
|
|
"rights": [
|
|
"El {rand:Staging Area|Index}."
|
|
],
|
|
"wrongs": [
|
|
"El {rand:Working Directory|directorio de trabajo}.",
|
|
"El {rand:Git Directory|Repository}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"El directorio de trabajo contiene los archivos tal cual los estás editando, antes de hacer un 'git add'.",
|
|
"El Git Directory es donde se almacena la base de datos de objetos y el historial ya confirmado."
|
|
]
|
|
}, {
|
|
"question": "¿Cómo se {rand:denomina|llama} al puntero {rand:especial|móvil} que indica {rand:en qué commit|en qué posición} nos encontramos actualmente?",
|
|
"rights": [
|
|
"El puntero {rand:HEAD|{HEAD}}."
|
|
],
|
|
"wrongs": [
|
|
"El puntero {rand:master|main}.",
|
|
"El puntero {rand:origin|upstream}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Master o Main son los nombres de la rama por defecto, pero no indican la posición relativa de trabajo actual.",
|
|
"Origin es el nombre estándar del repositorio remoto, no un puntero de posición local."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:parámetro|opción} de 'git commit' permite {rand:corregir|modificar} el último commit realizado, {rand:añadiendo cambios|cambiando el mensaje}?",
|
|
"rights": [
|
|
"git commit {rand:--amend|--amend -m}."
|
|
],
|
|
"wrongs": [
|
|
"git commit {rand:-a|-all}.",
|
|
"git commit {rand:--fixup|--squash}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"La opción -a añade automáticamente archivos modificados al commit, pero no modifica el anterior.",
|
|
"Fixup y squash se usan en procesos de rebase interactivo para combinar commits, no para editar el último de forma aislada."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:comando|instrucción} permite {rand:ver|listar} todas las {rand:ramas locales y remotas|referencias de ramas} disponibles en el repositorio?",
|
|
"rights": [
|
|
"git branch {rand:-a|--all}."
|
|
],
|
|
"wrongs": [
|
|
"git branch {rand:-d|--delete}.",
|
|
"git branch {rand:-m|--move}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Delete sirve para eliminar una rama, no para listar las existentes.",
|
|
"Move se utiliza para renombrar una rama, ya sea la actual o una específica."
|
|
]
|
|
}]
|
|
}] |