OpoTests/Public/json/kyman/especifico/software/kyman.03.git.json

663 lines
39 KiB
JSON

[{
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué es Git?",
"rights" : ["Un sistema de control de versiones distribuido."],
"wrongs" : [
"Es un {IDE} para desarrollo de Software.",
"Es un sistema de gestión de bases de datos.",
"Es un lenguaje de programación.",
"Es {rand:un protocolo|una metodología|una arquitectura} para el desarrollo de Software."
]
}, {
"question" : "¿Para qué sirve Git?",
"own_variables" : {
"bien" : ["list", [
"rastrear cambios en el código fuente de un proyecto",
"permitir la colaboración entre múltiples desarrolladores{rand:| de forma {mix:y,eficiente|segura}}",
"mantener un historial completo de las modificaciones realizadas en los archivos",
"facilitar la gestión de {mix:y,ramas|fusiones} en el desarrollo de Software",
"integrarse con plataformas de alojamiento de código como {select:1-3,o,GitHub|GitLab|Bitbucket|Gogs|Gitea}"
]],
"mal" : ["list", [
"editar imágenes de Docker",
"gestionar bases de datos {select:1-2,o,{SQL}|{NoSQL}}",
"configurar redes y dispositivos de hardware",
"realizar análisis de datos estadísticos",
"debuggear un proyecto y hallar {rand:bugs|errores} en el código fuente, de forma {select:1-3,y,automática|eficiente|ágil|precisa|ordenada|estructurada|segura}",
"integrar librerías externas en un proyecto de Software de forma {select:1-3,y,automática|eficiente|ágil|precisa|ordenada|estructurada|segura}",
"facilitar las integraciones de Software{rand:| {CI_CD}} en proyectos de desarrollo de forma {select:1-3,y,automática|eficiente|ágil|precisa|ordenada|estructurada|segura}"
]]
},
"rights" : ["Para {select:1-4,o,list:bien}{rand:|, entre otras cosas}."],
"wrongs" : ["Para {select:1-4,o,list:mal|list:bien}{rand:|, entre otras cosas|, únicamente|, sóla{rand:|mente}}."]
}, {
"question" : "¿Qué es el {git_PAT}?",
"rights" : [
"Es un Token que se utiliza para {mix:y,autenticar|autorizar} acciones en repositorios Git alojados en plataformas como {select:1-3,o,GitHub|GitLab|Bitbucket|Gitea}{rand:|, entre otras}.",
"Es un Token con tiempo de vida limitado que permite a los usuarios realizar operaciones en repositorios Git sin necesidad de utilizar sus credenciales principales."
],
"wrongs" : [
"Es un Token que permite a los usuarios realizar operaciones en repositorios Git sin necesidad de utilizar sus credenciales principales de forma permanente.",
"Es {rand:un Token{rand:| con tiempo de vida limitado}|una herramienta de línea de comandos} para gestionar repositorios Git de forma {select:1-3,y,protegida|segura|ágil|anónima}{rand:| creado en {range:1995-2024}{rand:| por GitHub}}.",
"Es un sistema de control de accesos {select:1-3,y,distribuido|centralizado|limitado|seguro|anónimo} para controlar el desarrollo de un proyecto en un repositorio Git.",
"Es un lenguaje de programación utilizado para desarrollar aplicaciones web simplificadas con MarkDown."
]
}, {
"question" : "¿Cuál es el lenguaje usado para generar los archivos de documentación dentro de un proyecto Git?",
"rights" : ["MarkDown."],
"wrongs" : ["{HTML}.", "{CSS}.", "{JS}.", "{XML}.", "{YAML}."]
}, {
"question" : "¿Cómo se usa el {git_PAT}?",
"rights" : ["Se utiliza como una contraseña alternativa{rand:| al realizar operaciones en repositorios Git{rand:| alojados en plataformas como {select:1-3,o,GitHub|GitLab|Bitbucket|Gitea}{rand:|, entre otras}}}."],
"wrongs" : [
"Se utiliza mediante un paso más intermedio a la hora de realizar la autenticación sobre operaciones en repositorios Git.",
"Se utiliza como una herramienta de línea de comandos para gestionar repositorios Git de forma {select:1-3,y,protegida|segura|ágil|anónima}{rand:| creado en {range:1995-2024}{rand:| por GitHub}}.",
"Se utiliza como un sistema de control de accesos {select:1-3,y,distribuido|centralizado|limitado|seguro|anónimo} para controlar el desarrollo de un proyecto en un repositorio Git.",
"Se utiliza como un lenguaje de programación utilizado para desarrollar aplicaciones web simplificadas con MarkDown."
]
}, {
"question" : "¿Cómo puedo hacer para que Git no me incluya ciertos {mix:o,archivos|carpetas} en un repositorio remoto?",
"rights" : ["Creando un archivo '.gitignore' en el directorio raíz del proyecto y especificando los {mix:o,archivos|carpetas} que se desean {rand:excluir|ignorar}."],
"wrongs" : [
"Configurando las opciones de Git para ignorar ciertos {mix:o,archivos|carpetas} durante las operaciones de {select:1-2,y,commit|push}.",
"Utilizando un comando especial de Git para marcar ciertos {mix:o,archivos|carpetas} como ignorados antes de realizar un commit.",
"Modificando el archivo de configuración global de Git para excluir ciertos {mix:o,archivos|carpetas} de todos los repositorios.",
"Creando un archivo de configuración personalizado en el directorio del proyecto para especificar los {mix:o,archivos|carpetas} que se desean {rand:excluir|ignorar}."
]
}, {
"question" : "¿Dónde se encuentra el archivo de configuración de Git dentro del proyecto?",
"rights" : ["En el directorio oculto '.git' ubicado en la raíz del proyecto{rand:|, un archivo llamado 'config'}."],
"wrongs" : [
"En el directorio 'config' ubicado en la raíz del proyecto{rand:|, dentro están los archivos con las configuraciones pertinentes}.",
"En el archivo 'settings.json'{rand:, el cual ha de ser creado por el desarrollador en {rand:en la carpeta oculta '.git'|la raíz}| ubicado en el directorio raíz} del proyecto.",
"En el archivo{rand:| oculto} '{rand:|.}gitconfig' ubicado en el directorio '{rand:.git|docs}' del proyecto{rand:|. Si no existe ha de crearse}.",
"En el archivo 'config.yaml' ubicado en el directorio{rand:| oculto} '{rand:|.}{rand:git|config}' del proyecto{rand:| Si no existe ha de crearse}."
]
}, {
"question" : "¿Cómo puedo automatizar el Login en un repositorio Git clonado?",
"rights" : [
"Utilizando un {git_PAT} como método de autenticación en lugar de las credenciales tradicionales.",
"Incluyendo el Login en la URL del repositorio {rand:al clonarlo|del archivo de configuración{rand:| global}}{rand:|, aunque no es recomendable por razones de seguridad}{rand:|. Dependes de que el servidor te permita dicha acción}."
],
"wrongs" : [
"Utilizando un archivo de configuración personalizado en el directorio del proyecto para almacenar las credenciales de Login.",
"Modificando el archivo de configuración{rand:| global{rand:| de Git}} para incluir las credenciales de Login en todas las operaciones de {select:1-2,y,clone|pull|push|fetch|reset}.",
"Creando un script de automatización que ejecute el comando de Login cada vez que se realice una operación en el repositorio."
]
}, {
"question" : "¿Cómo puedo asociar el ID de un Pull Request en un 'commit' de Git?",
"rights" : [
"Incluyendo el ID del Pull Request en el mensaje del 'commit' precedido por un símbolo {rand:'#'|Hash}.",
"{b:sh,0,git commit -m 'Mensaje #ID'}"
],
"wrongs" : [
"Utilizando un comando especial de Git para vincular el Pull Request al 'commit' después de realizarlo.",
"Modificando el archivo de configuración{rand:| global{rand:| de Git}} para asociar automáticamente los Pull Requests con los 'commits'.",
"Creando un script de automatización que agregue el ID del Pull Request al 'commit' después de realizarlo.",
"Respondiendo en el Pull Request con el ID del 'commit' para establecer la asociación.",
"{b:sh,1,git commit -m 'Mensaje' {rand:-x|{rand:|-}-pr|--pull-request|{rand:|--}request} ID}",
"{b:sh,0,git commit-request -m 'Mensaje' ID}"
]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Conjuntos",
"group" : "kyman_software_comando_git",
"group_variables" : {
"lista_workflows" : ["list", ["Git-Flow", "GitHub-Flow", "GitLab-Flow", "One Flow"]],
"lista_alternativas_git" : ["list", [
"Mercurial", "{SVN}", "{CVS}", "Perforce", "Bazaar", "Fossil", "{TFS}", "{VSS}"
]],
"lista_ramas_git_flow" : ["list", ["Master", "Development", "Features", "Release", "Hotfix"]],
"lista_clientes_git" : ["list", [
"GitHub Desktop", "Sourcetree", "GitKraken", "Tower", "Fork", "SmartGit", "TortoiseGit",
"Git Cola", "GitEye"
]],
"lista_servidores_git" : ["list", [
"GitHub", "GitLab", "Bitbucket", "Gogs", "Gitea", "AWS CodeCommit", "Azure Repos",
"SourceForge"
]],
"lista_selfhosted_git" : ["list", [
"Gogs", "Gitea", "GitLab", "Bitbucket Server", "Phabricator", "Kallithea"
]],
"lista_mal" : ["list", [
"list:lista_workflows", "list:lista_alternativas_git", "list:lista_ramas_git_flow",
"list:lista_clientes_git"
]]
},
"queries" : [{
"question" : "¿Cuáles de los siguientes elementos son {workflows} comunes en Git?",
"rights" : ["{Select:1-4,y,list:lista_workflows}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son alternativas hay frente a Git?",
"rights" : ["{Select:1-8,y,list:lista_alternativas_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son ramas comunes en el Git-Flow?",
"rights" : ["{Select:1-5,y,list:lista_ramas_git_flow}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son clientes de Git?",
"rights" : ["{Select:1-8,y,list:lista_clientes_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son servidores de Git?",
"rights" : ["{Select:1-8,y,list:lista_servidores_git|list:lista_selfhosted_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}, {
"question" : "¿Cuáles de los siguientes elementos son servidores de Git Self-Hosted?",
"rights" : ["{Select:1-6,y,list:lista_selfhosted_git}."],
"wrongs" : ["{Select:1-8,y,list:lista_mal}."]
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Definiciones",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué es el Git-Flow?",
"rights" : [
"Es un {workflow} de desarrollo de Software que utiliza ramas específicas para gestionar el ciclo de vida del desarrollo, incluyendo ramas para {mix:y,características|lanzamientos|correcciones de errores}.",
"Es un {workflow} pensado para aquellos proyectos que tienen {mix:y,entregables|ciclos de desarrollo} bien definidos{rand:| de 2010}{rand:|, creado por Vincent Driessen}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la GitHub-Flow?",
"rights" : [
"Es un {workflow} de desarrollo de Software {mix:y,ligero|sencillo} que se centra en la creación de ramas para cada {mix:o,característica|corrección de errores}, con un enfoque en {mix:y,la integración continua|el despliegue frecuente}.",
"Es un {workflow} ideal para proyectos que {mix:y,requieren despliegues {mix:y,rápidos|frecuentes}|cuyas ramas parten directamente de 'master'}{rand:| creado en 2011{rand:| por la propia GitHub}}.",
"Es un {workflow} donde las integraciones entre ramas han de pasar por un 'Pull Request' para su revisión y aprobación antes de ser fusionadas."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la GitLab-Flow?",
"rights" : [
"Es un {workflow} de desarrollo de Software que combina aspectos de {mix:y,Git-Flow|GitHub-Flow}, adaptándose a diferentes modelos de {mix:y,desarrollo|despliegue}.",
"Es un {workflow} flexible que permite a los equipos elegir entre diferentes estrategias de ramas según sus necesidades específicas{rand:| creado en 2014{rand:| por GitLab}}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es la One Flow en Git?",
"rights" : [
"Es un {workflow} de desarrollo de Software que simplifica la gestión de ramas al utilizar una única rama principal para el desarrollo, con ramas temporales para {mix:y,características|correcciones} que se integran directamente en la rama principal.",
"Es un {workflow} diseñado para reducir la complejidad en la gestión de ramas, facilitando un flujo de trabajo más {mix:y,ágil|directo}{rand:| creado en 2015{rand:| por Adam Ruka}}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cuál es la principal diferencia entre One FLow frente a Git-Flow?",
"rights" : ["Que carece de la rama 'Development', utilizando únicamente 'Master' como rama principal de desarrollo."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Master' en el Git-Flow?",
"rights" : ["Es la rama principal que contiene el código de producción estable."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Development' en el Git-Flow?",
"rights" : ["Es la rama donde se integran las {mix:y,características|correcciones} antes de ser fusionadas{rand:| en 'Master'} de forma estable."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Features' en el Git-Flow?",
"rights" : ["Es la rama donde se desarrollan nuevas características{rand:| antes de ser integradas en 'Development'}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Hotfix' en el Git-Flow?",
"rights" : [
"Es la rama donde se desarrollan correcciones urgentes que se aplican directamente a 'Master' y luego se integran en 'Development'.",
"Son errores de Software que surgen en producción, por lo que se deben {mix:y,arreglar|publicar} de forma urgente sobre una rama que cuelga de 'Master' para unificar contra {mix:y,'Development'|'Master'}."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Release' en el Git-Flow?",
"rights" : ["Es la rama donde se preparan las versiones para su lanzamiento, permitiendo realizar {mix:y,pruebas|correcciones} finales antes de fusionarlas en 'Master'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es 'Pull Request' en Git?",
"rights" : ["Es una solicitud para {mix:y,revisar|fusionar} cambios realizados en una rama específica con otra rama{rand:|, generalmente utilizada para facilitar la {mix:y,colaboración|revisión de código} entre desarrolladores}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es una Rama de Entorno en GitLab-Flow?",
"rights" : ["Es una rama que representa un entorno específico de despliegue, como {mix:y,producción|staging|desarrollo}, permitiendo gestionar el código según el entorno."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es una Rama de Versión en GitLab-Flow?",
"rights" : ["Es una rama creada para preparar una versión específica del software, permitiendo realizar {mix:y,pruebas|correcciones} antes del lanzamiento."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es el archivo README.md en un proyecto Git?",
"rights" : ["Es un archivo {rand:principal|índice|Index} de documentación escrito en MarkDown que proporciona información sobre el proyecto, incluyendo {select:1-3,y,su propósito|cómo instalarlo|cómo usarlo} entre otra información relevante."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué es el '.gitignore' en un proyecto Git?",
"rights" : ["Es un archivo de configuración que especifica qué {mix:o,archivos|directorios} deben ser ignorados por Git, evitando que se incluyan en el repositorio remoto."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Argumentos",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué hace el {rand:parámetro|argumento} 'init' en el comando 'git'?",
"rights" : ["{Select:1-2,o,crea un nuevo repositorio de Git vacío|reinicializa uno existente en el directorio actual}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'merge' en el comando 'git'?",
"rights" : ["Combina las ramas especificadas en la rama actual."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'clone' en el comando 'git'?",
"rights" : ["Crea una copia local de un repositorio remoto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'commit' en el comando 'git'?",
"rights" : ["Registra los cambios realizados{rand:| en el área de preparación} en el historial del repositorio local."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'push' en el comando 'git'?",
"rights" : ["Sube los cambios confirmados en el repositorio local al repositorio remoto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'add' en el comando 'git'?",
"rights" : ["Agrega archivos al área de preparación para su confirmación{rand:| desde el Path indicado}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'status' en el comando 'git'?",
"rights" : ["Muestra el estado de los archivos en {mix:y,el directorio de trabajo|el área de preparación}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'branch' en el comando 'git'?",
"rights" : ["Gestiona las ramas del repositorio {rand:|, permitiendo {mix:o,{mix:o,crear|listar} ramas localmente|eliminar ramas en el entorno {mix:y,local|remoto}}}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'pull' en el comando 'git'?",
"rights" : [
"{Mix:y,descarga|fusiona} los cambios desde un repositorio remoto al repositorio local.",
"Unifica los {rand:parámetros|argumentos} {mix:y,'fetch'|'merge'} en una sola operación."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'fetch' en el comando 'git'?",
"rights" : ["Descarga los cambios desde un repositorio remoto sin fusionarlos automáticamente."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'checkout' en el comando 'git'?",
"rights" : ["{Select:1-2,o,cambia entre ramas|restaura archivos a un estado anterior} del repositorio remoto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'log' en el comando 'git'?",
"rights" : ["Muestra el historial de confirmaciones del repositorio."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'reset' en el comando 'git'?",
"rights" : ["Deshace cambios {mix:y,en el área de preparación|en el historial de confirmaciones}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'diff' en el comando 'git'?",
"rights" : ["Muestra las diferencias entre archivos o ramas."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'tag' en el comando 'git'?",
"rights" : ["{Mix:o,crea|lista|elimina} etiquetas en el repositorio."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'remote' en el comando 'git'?",
"rights" : ["Gestiona las conexiones a repositorios remotos."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'stash' en el comando 'git'?",
"rights" : ["Guarda temporalmente los cambios no confirmados para limpiarlos del área de trabajo."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'rebase' en el comando 'git'?",
"rights" : [
"Aplica los cambios de una rama sobre otra, reescribiendo el historial de confirmaciones.",
"Permite mover la totalidad de una rama a otro punto del árbol."
],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'config' en el comando 'git'?",
"rights" : ["Configura las {mix:y,opciones|preferencias} de Git {mix:o,a nivel global|por repositorio}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'show' en el comando 'git'?",
"rights" : ["Muestra información detallada sobre objetos específicos en el repositorio{rand:|, como {select:1-3,o,confirmaciones|ramas|etiquetas} entre otros}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué hace el {rand:parámetro|argumento} 'revert' en el comando 'git'?",
"rights" : ["Deshace los cambios introducidos por una confirmación específica creando una nueva confirmación que revierte esos cambios."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Argumentos II",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : [
"¿Con qué {rand:argumento|parámetro} de Git puedo crear un nuevo repositorio vacío?",
"¿Con qué {rand:argumento|parámetro} de Git puedo reinicializar un repositorio en el directorio actual?"
],
"rights" : ["'init'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo combinar ramas en la rama actual?",
"rights" : ["'merge'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo clonar un repositorio remoto?",
"rights" : ["'clone'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo registrar los cambios realizados en el área de preparación?",
"rights" : ["'commit'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo subir los cambios confirmados en el repositorio local al repositorio remoto?",
"rights" : ["'push'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo agregar archivos al área de preparación para su confirmación?",
"rights" : ["'add'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar el estado de los archivos en {select:1-2,o,el directorio de trabajo|el área de preparación}?",
"rights" : ["'status'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo gestionar las ramas del repositorio?",
"rights" : ["'branch'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-2,y,descargar|fusionar} cambios desde un repositorio remoto al repositorio local?",
"rights" : ["'pull'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo descargar cambios desde un repositorio remoto sin fusionarlos automáticamente?",
"rights" : ["'fetch'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-2,o,cambiar entre ramas|restaurar archivos a un estado anterior}?",
"rights" : ["'checkout'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar el historial de confirmaciones del repositorio?",
"rights" : ["'log'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo deshacer cambios {select:1-2,o,en el área de preparación|en el historial de confirmaciones}?",
"rights" : ["'reset'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar las diferencias entre {select:1-2,o,archivos|ramas}?",
"rights" : ["'diff'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo {select:1-3,o,crear|listar|eliminar} etiquetas en el repositorio?",
"rights" : ["'tag'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo gestionar las conexiones a repositorios remotos?",
"rights" : ["'remote'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo guardar temporalmente los cambios no confirmados para limpiarlos del área de trabajo?",
"rights" : ["'stash'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo aplicar los cambios de una rama sobre otra, reescribiendo el historial de confirmaciones?",
"rights" : ["'rebase'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo configurar las {select:1-2,o,opciones|preferencias} de Git {select:1-2,o,a nivel global|por repositorio}?",
"rights" : ["'config'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo mostrar información detallada sobre objetos específicos en el repositorio?",
"rights" : ["'show'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con qué {rand:argumento|parámetro} de Git puedo deshacer los cambios introducidos por una confirmación específica creando una nueva confirmación que revierte esos cambios?",
"rights" : ["'revert'."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Órdenes comunes",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : [
"¿Cómo puedo crear un nuevo repositorio de Git vacío?",
"¿Cómo puedo reinicializar un repositorio de Git en el directorio actual?"
],
"rights" : ["{b:sh,0,git init}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo combinar ramas en la rama actual?",
"rights" : ["{b:sh,0,git merge RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo {rand:descargar|clonar} un repositorio remoto?",
"rights" : ["{b:sh,0,git clone URL}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo registrar los cambios realizados en el área de preparación?",
"rights" : ["{b:sh,0,git commit -m \"Descripción de los cambios\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo subir los cambios confirmados en el repositorio local al repositorio remoto?",
"rights" : ["{b:sh,0,git push}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo Commitear los cambios desde la rama local 'origin' a la rama 'RAMA'?",
"rights" : ["{b:sh,0,git push origin RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo {rand:Trackear|agregar} archivos al área de preparación para su confirmación?",
"rights" : ["{b:sh,0,git add PATH}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo mostrar el estado de los archivos en el directorio de trabajo o el área de preparación?",
"rights" : ["{b:sh,0,git status}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo listar todas las ramas locales del repositorio?",
"rights" : ["{b:sh,0,git branch}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo listar todas las ramas{rand:|, tanto locales como remotas,} del repositorio?",
"rights" : ["{b:sh,0,git branch -a}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo eliminar una rama local del repositorio?",
"rights" : ["{b:sh,0,git branch -d RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar y fusionar cambios desde un repositorio remoto al repositorio local?",
"rights" : ["{b:sh,0,git pull}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar cambios desde un repositorio remoto sin fusionarlos automáticamente?",
"rights" : ["{b:sh,0,git fetch}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo cambiar a la rama RAMA?",
"rights" : ["{b:sh,0,git checkout RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo cambiar a la rama anterior a la actual?",
"rights" : ["{b:sh,0,git checkout -}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo crear la rama RAMA y automáticamente irme a ésta?",
"rights" : ["{b:sh,0,git checkout -b RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo descargar una rama remota existente?",
"rights" : ["{b:sh,1,git checkout -t origin/RAMA}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo mostrar el historial de confirmaciones del repositorio?",
"rights" : ["{b:sh,0,git log}"],
"brothers_are_wrongs" : true
}, {
"question" : [
"¿Cómo puedo deshacer todos los cambios y volver al último 'commit'?",
"¿Cómo puedo deshacer todos los cambios aún no Commiteados?"
],
"rights" : ["{b:sh,0,git reset --hard{rand:| HEAD}}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo actualizar los cambios desde un repositorio remoto para casos donde otro desarrollador halla eliminado alguna rama remota?",
"rights" : ["{b:sh,0,git remote prune origin}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo revertir los cambios del 'commit' a partir del Hash?",
"rights" : ["{b:sh,0,git revert HASH}"],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Tipos de Commit",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Qué indica el tipo de 'commit' es 'wip' en Git?",
"rights" : ["El trabajo está en progreso y no está listo para ser {mix:o,fusionado|revisado}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'fix' en Git?",
"rights" : ["Corregido un {mix:o,error|problema} en el código."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'feat' en Git?",
"rights" : ["Añadida una nueva {mix:o,característica|funcionalidad} al proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'docs' en Git?",
"rights" : ["Cambios en la documentación del proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'chore' en Git?",
"rights" : ["Tareas de {mix:o,mantenimiento|cambios} que no afectan directamente al código fuente del proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'refactor' en Git?",
"rights" : ["Cambios en el código que mejoran su {mix:o,estructura|legibilidad} sin alterar su funcionalidad."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'test' en Git?",
"rights" : ["{Mix:o,añadidas|modificadas} pruebas automatizadas para el proyecto."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'style' en Git?",
"rights" : ["Cambios en el {mix:o,formato|estilo} del código, como {select:1-2,o,la corrección de{rand:l espaciado| espacios en blanco}|la indentación}."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'perf' en Git?",
"rights" : ["Mejoras en el rendimiento del código."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Qué indica el tipo de 'commit' es 'ci' en Git?",
"rights" : ["Cambios relacionados con la {mix:o,configuración|scripts de {mix:o,integración continua|despliegue frecuente}} del proyecto."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Tipos de Commit II",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se está trabajando en progreso?",
"rights" : ["'wip'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se ha corregido un {rand:error|problema}?",
"rights" : ["'fix'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se ha añadido una nueva {rand:característica|funcionalidad}?",
"rights" : ["'feat'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios en la documentación?",
"rights" : ["'docs'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios que no afectan directamente al código?",
"rights" : ["'chore'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo mejoras en la {rand:estructura|legibilidad} del código?",
"rights" : ["'refactor'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que se añadieron pruebas automatizadas?",
"rights" : ["'test'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios de {rand:formato|estilo} en el código?",
"rights" : ["'style'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo mejoras de rendimiento?",
"rights" : ["'perf'."],
"brothers_are_wrongs" : true
}, {
"question" : "¿Con que tipo se puede indicar en un 'commit' de Git que hubo cambios en la {rand:configuración|scripts de {rand:integración continua|despliegue frecuente}}?",
"rights" : ["'ci'."],
"brothers_are_wrongs" : true
}]
}, {
"origin" : "KyMAN",
"sources" : [],
"title" : "Software - Git - Tipos de Commit II",
"group" : "kyman_software_comando_git",
"queries" : [{
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se está trabajando en progreso?",
"rights" : ["{b:sh,1,git commit -m \"{rand:|#}wip{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se ha corregido un {rand:error|problema}?",
"rights" : ["{b:sh,1,git commit -m \"fix{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se ha añadido una nueva {rand:característica|funcionalidad}?",
"rights" : ["{b:sh,1,git commit -m \"feat{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios en la documentación?",
"rights" : ["{b:sh,1,git commit -m \"docs{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios que no afectan directamente al código?",
"rights" : ["{b:sh,1,git commit -m \"chore{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo mejoras en la {rand:estructura|legibilidad} del código?",
"rights" : ["{b:sh,1,git commit -m \"refactor{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que se añadieron pruebas automatizadas?",
"rights" : ["{b:sh,1,git commit -m \"test{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios de {rand:formato|estilo} en el código?",
"rights" : ["{b:sh,1,git commit -m \"style{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo mejoras de rendimiento?",
"rights" : ["{b:sh,1,git commit -m \"perf{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}, {
"question" : "¿Cómo puedo indicar en un 'commit' de Git que hubo cambios en la {rand:configuración|scripts de {rand:integración continua|despliegue frecuente}}?",
"rights" : ["{b:sh,1,git commit -m \"ci{rand:|(elemento)}: Descripción\"}"],
"brothers_are_wrongs" : true
}]
}]