79 lines
3.8 KiB
JSON
79 lines
3.8 KiB
JSON
[{
|
|
"origin": "Gemini 3 Flash",
|
|
"sources": [
|
|
"https://git-scm.com/docs"
|
|
],
|
|
"title": "Git - Gestión Avanzada del Historial",
|
|
"group": "git_history_brothers_001",
|
|
"queries": [{
|
|
"question": "¿Qué {rand:comando|acción} permite {rand:reescribir|reorganizar} el historial aplicando los commits de una rama sobre la punta de otra de forma {rand:lineal|secuencial}?",
|
|
"rights": [
|
|
"git {rand:rebase|rebase -i}."
|
|
],
|
|
"wrongs": [
|
|
"git {rand:checkout|switch} -b nueva_rama.",
|
|
"git {rand:commit --amend|commit -a}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Checkout o switch sirven para cambiar de rama, no para reescribir el historial sobre otra punta.",
|
|
"Amend modifica el último commit, pero no reorganiza el historial de una rama completa sobre otra."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:comando|instrucción} se usa para {rand:aplicar|traer} los cambios de un {rand:commit específico|hash concreto} de una rama a la rama {rand:actual|en la que estamos}?",
|
|
"rights": [
|
|
"git {rand:cherry-pick|cherry-pick <commit-hash>}."
|
|
],
|
|
"wrongs": [
|
|
"git {rand:pull|fetch} origin main.",
|
|
"git {rand:merge|merge --no-ff}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Pull trae todos los cambios de una rama remota, no uno solo específico de forma aislada.",
|
|
"Merge une una rama completa, lo que puede introducir commits que no deseamos en ese momento."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:operación|comando} crea un {rand:nuevo commit|commit adicional} que {rand:deshace|revierte} los efectos de uno anterior {rand:sin alterar|manteniendo intacto} el historial?",
|
|
"rights": [
|
|
"git {rand:revert|revert <hash>}."
|
|
],
|
|
"wrongs": [
|
|
"git {rand:reset --hard|reset --soft}.",
|
|
"git {rand:rm|remove} --cached <file>."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Reset borra o mueve el historial hacia atrás; no crea un nuevo commit de reversión.",
|
|
"Rm elimina archivos del índice o del disco, no revierte la lógica de un commit completo."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:comando|utilidad} registra {rand:cada movimiento|todos los cambios} de las puntas de las ramas para {rand:recuperar|encontrar} commits {rand:perdidos|huérfanos}?",
|
|
"rights": [
|
|
"git {rand:reflog|reflog show}."
|
|
],
|
|
"wrongs": [
|
|
"git {rand:log --oneline|log -p}.",
|
|
"git {rand:status|status -s}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Log muestra el historial de commits confirmados, pero no los movimientos de los punteros o commits borrados.",
|
|
"Status solo muestra el estado actual del directorio de trabajo y el área de preparación."
|
|
]
|
|
}, {
|
|
"question": "¿Qué {rand:instrucción|comando} se encarga de {rand:mover|desplazar} el puntero de la rama actual a un {rand:estado anterior|commit específico}, {rand:pudiendo eliminar|borrando opcionalmente} los cambios del directorio de trabajo?",
|
|
"rights": [
|
|
"git {rand:reset|reset --hard}."
|
|
],
|
|
"wrongs": [
|
|
"git {rand:clean -fd|clean -x}.",
|
|
"git {rand:checkout -- .|restore .}."
|
|
],
|
|
"brothers_are_wrongs": true,
|
|
"wrong_explanations": [
|
|
"Clean borra archivos untracked, pero no mueve el puntero de la rama en el historial.",
|
|
"Restore o checkout sobre el directorio actual recuperan archivos, pero no cambian el commit en el que se encuentra la rama."
|
|
]
|
|
}]
|
|
}] |