mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-30 17:54:28 +02:00
Translated 'rampup' levels to Spanish 'es_ES'
This commit is contained in:
parent
257bb1c0c2
commit
2dab4adf69
6 changed files with 419 additions and 0 deletions
|
@ -12,6 +12,7 @@ exports.level = {
|
|||
"de_DE": "Einführung Cherry-picking",
|
||||
"ja" : "cherry-pick入門",
|
||||
"es_AR": "Introducción a cherry-pick",
|
||||
"es_ES": "Introducción a cherry-pick",
|
||||
"pt_BR": "Introdução ao cherry-pick",
|
||||
"gl" : "Introuducción a cherry-pick",
|
||||
"zh_CN": "Git Cherry-pick",
|
||||
|
@ -26,6 +27,7 @@ exports.level = {
|
|||
"de_DE": "git cherry-pick gefolgt von Commit-Namen.",
|
||||
"ja" : "git cherry-pickの後にコミット名を追加",
|
||||
"es_AR": "git cherry-pick seguido de los nombres de los commits",
|
||||
"es_ES": "git cherry-pick seguido de los nombres de los commits",
|
||||
"pt_BR": "git cherry-pick seguido dos nomes dos commits",
|
||||
"gl" : "git cherry-pick seguido das referencias a commits",
|
||||
"zh_CN": "git cherry-pick 后面要跟提交的名字",
|
||||
|
@ -206,6 +208,63 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"es_ES": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Moviendo el trabajo por ahí",
|
||||
"",
|
||||
"Hasta ahora cubrimos lo básico de git -- hacer commits, crear ramas, y movernos por el árbol de commits. Estos conceptos alcanzan para aprovechar el 90% del poder de los repositorios de git y cubrir las necesidades principales de los desarrolladores.",
|
||||
"",
|
||||
"El 10% restante, sin embargo, puede ser bastante útil en flujos de trabajo complejos (o cuando te metiste en algún problema complicado). El próximo concepto que vamos a cubrir es el de \"mover el trabajo por ahí\" -- en otras palabras, una forma que tienen los desarrolladores de decir \"Quiero este trabajo aquí y este otro allí\" de una manera precisa, elocuente y flexible.",
|
||||
"",
|
||||
"Puede parecer un montón, pero es un concepto bastante simple."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Git Cherry-pick",
|
||||
"",
|
||||
"El primer comando en esta serie se llama `git cherry-pick`. Tiene la siguiente forma:",
|
||||
"",
|
||||
" `git cherry-pick <Commit1> <Commit2> <...>`",
|
||||
"",
|
||||
"Es una manera bastante directa de decir que quieres copiar una serie de commits sobre tu ubicación actual (`HEAD`). Personalmente amo `cherry-pick` porque hay muy poca magia involucrada y es bastante simple de entender.",
|
||||
"",
|
||||
"¡Veamos una demo!",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"A continuación tenemos un repositorio con algo de trabajo en la rama `side` que queremos copiar a `master`. Podríamos lograrlo con un rebase (y ya aprendimos cómo), pero veamos cómo se comporta cherry-pick."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Eso es todo! Queríamos los commits `C2` y `C4` y git los aplicó justo donde estábamos. ¡Tan simple como eso!"
|
||||
],
|
||||
"command": "git cherry-pick C2 C4",
|
||||
"beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout master; git commit;"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Para completar este nivel, simplemente copia algo de trabajo desde otras tres ramas a master. Puedes ver qué commits queremos en la visualización del objetivo.",
|
||||
""
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pt_BR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -5,6 +5,7 @@ exports.level = {
|
|||
"name": {
|
||||
"en_US": "Detach yo' HEAD",
|
||||
"es_AR": "Desatacheá tu HEAD",
|
||||
"es_ES": "Desatachea tu HEAD",
|
||||
"pt_BR": "Solte a sua cabeça",
|
||||
"gl" : "Abandona o teu HEAD",
|
||||
"fr_FR": "Détacher votre HEAD",
|
||||
|
@ -19,6 +20,7 @@ exports.level = {
|
|||
"hint": {
|
||||
"en_US": "Use the label (hash) on the commit for help!",
|
||||
"es_AR": "¡Usá la etiqueta (hash) sobre el commit para ayudarte!",
|
||||
"es_ES": "¡Usa la etiqueta (hash) sobre el commit para ayudarte!",
|
||||
"pt_BR": "Use o identificador (hash) sobre o commit para te ajudar!",
|
||||
"gl" : "¡Usa a etiqueta (hash) sobre o commit para axudarte!",
|
||||
"de_DE": "Benutze den Bezeichner (den Hash) des Commits.",
|
||||
|
@ -187,6 +189,84 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"es_ES": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Moviéndote por ahí con Git",
|
||||
"",
|
||||
"Antes de meternos en algunas de las funcionalidades más avanzadas de git, es importante entender las distintas maneras de moverse por el árbol de commits que representa tu proyecto.",
|
||||
"",
|
||||
"Una vez que estés cómodo moviendote por ahí, tus poderes con los otros comandos de git ¡van a amplificarse!",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## HEAD",
|
||||
"",
|
||||
"Primero tenemos que hablar de \"HEAD\". HEAD es el nombre simbólico del commit sobre el que hemos hecho checkout -- es, básicamente, el commit sobre el que estás trabajando.",
|
||||
"",
|
||||
"HEAD siempre apunta al commit más reciente, reflejado en el árbol de commits. La mayoría de los comandos de git que hacen cambios al árbol de commits empiezan modificando HEAD.",
|
||||
"",
|
||||
"Normalmente HEAD apunta al nombre de una rama (como bugFix). Cuando creas un commit, el estado de bugFix se altera y este cambio es visible a través de HEAD."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Veámoslo en acción. A continuación vamos a ver a HEAD antes y después de un commit."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Ves! HEAD estuvo oculta bajo nuestra rama `master` todo este tiempo."
|
||||
],
|
||||
"command": "git checkout C1; git checkout master; git commit; git checkout C2",
|
||||
"beforeCommand": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"### Detacheando HEAD",
|
||||
"",
|
||||
"Detachear (_des-adjuntar_) HEAD simplemente significa adjuntarla a un commit en lugar de a un branch. Así es como se ve de antemano:",
|
||||
"",
|
||||
"HEAD -> master -> C1",
|
||||
""
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Y así queda ahora:",
|
||||
"",
|
||||
"HEAD -> C1"
|
||||
],
|
||||
"command": "git checkout C1",
|
||||
"beforeCommand": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Para completar este nivel, detaheemos HEAD de `bugFix` y atacheemosla al commit, en cambio.",
|
||||
"",
|
||||
"Especifica este commit por su hash. El hash de cada commit se muestra en el círculo que lo representa."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pt_BR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -9,6 +9,7 @@ exports.level = {
|
|||
"hint": {
|
||||
"en_US": "you can use either branches or relative refs (HEAD~) to specify the rebase target",
|
||||
"es_AR": "podés usar tanto ramas como referencias relativas (HEAD~) para especificar el objetivo del rebase",
|
||||
"es_ES": "puedes usar tanto ramas como referencias relativas (HEAD~) para especificar el objetivo del rebase",
|
||||
"pt_BR": "Você pode usar ou ramos ou referências relativas (HEAD~) para especificar o alvo do rebase",
|
||||
"gl" : "Podes usar ramas ou referencias relativas (HEAD~) para especificar o obxectivo do rebase",
|
||||
"de_DE": "Du kannst entweder Branches oder relative Ref-Angaben (z.B. HEAD~) benutzen, um das Ziel des Rebase anzugeben.",
|
||||
|
@ -23,6 +24,7 @@ exports.level = {
|
|||
"name": {
|
||||
"en_US": "Interactive Rebase Intro",
|
||||
"es_AR": "Introducción al rebase interactivo",
|
||||
"es_ES": "Introducción al rebase interactivo",
|
||||
"pt_BR": "Introdução ao rebase interativo",
|
||||
"gl" : "Introducción ó rebase interativo",
|
||||
"de_DE": "Einführung Interactive Rebase",
|
||||
|
@ -360,6 +362,71 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"es_ES": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## git rebase interactivo",
|
||||
"",
|
||||
"git cherry-pick es genial cuando sabes qué commits quieres (_y_ sabes sus hashes) -- es dificil superar la simpleza que provee.",
|
||||
"",
|
||||
"Pero ¿qué pasa cuando no sabes qué commits quieres? Por suerte ¡git te cubre en esta situación, también! Podemos usar el rebase interactivo para esto -- es la mejor manera de revisar una serie de commits que estás a punto de rebasear.",
|
||||
"",
|
||||
"Entremos en los detalles..."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Todo rebase interactivo significa usar el comando `rebase` con la opción `-i`.",
|
||||
"",
|
||||
"Si incluyes esta opción, git abrirá una UI para mostrarte qué commits están a punto de ser copiados sobre el objetivo del rebase. También muestra sus hashes y mensajes, que ayuda mucho para saber qué es cada commit.",
|
||||
"",
|
||||
"Para el git \"de verdad\", la UI signfica abrir un archivo en un editor de textos como `vim`. Para nuestro propósito, hice una pequeña interfaz que se comporta de ese mismo modo."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Cuando el diálogo de rebase interactivo se abre, tienes la capacidad de hacer 3 cosas:",
|
||||
"",
|
||||
"* Puedes reordenar los commits con solamente cambiar su orden en la UI (en nuestra ventana, eso significa hacer drag & drop con el mouse).",
|
||||
"* Puedes elegir ignorar completamente algunos commits. Esto se designa con `pick` -- no hacerle `pick` a algún commit significa que quieres ignorarlo.",
|
||||
"* Finalmente, puedes _squashear_ commits. Desafortunadamente, nuestros niveles no soportan esto por cuestiones logísticas, por lo que voy a ahorrarte los detalles. Resumiendo, te permite combinar varios commits en uno solo.",
|
||||
"",
|
||||
"¡Genial! Veamos un ejemplo."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Cuando aprietes el botón, va a aparecer una ventana de rebase interactivo. Reordena los commits (siéntete libre de ignorar alguno, también) ¡y observa el resultado!"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Zas! Git copió los commits exactamente de la misma manera que lo especificaste en la UI"
|
||||
],
|
||||
"command": "git rebase -i HEAD~4 --aboveAll",
|
||||
"beforeCommand": "git commit; git commit; git commit; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Para completar el nivel, haz un rebase interactivo y alcanza el orden que se muestra en la visualización objetivo. Recuerda que siempre puedes hacer `undo` y `reset` para arreglar errores :D"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pt_BR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -9,6 +9,7 @@ exports.level = {
|
|||
"zh_CN": "相对引用(^)",
|
||||
"zh_TW": "相對引用(^)",
|
||||
"es_AR": "Referencias relativas (^)",
|
||||
"es_ES": "Referencias relativas (^)",
|
||||
"pt_BR": "Referências relativas (^)",
|
||||
"gl" : "Referencias relativas (^)",
|
||||
"de_DE": "Relative Referenzen (^)",
|
||||
|
@ -22,6 +23,7 @@ exports.level = {
|
|||
"ja" : "相対リファレンス(^)を思い出して!",
|
||||
"de_DE": "Denk an den Dach-Operator (^)!",
|
||||
"es_AR": "¡No te olvides del operador ^!",
|
||||
"es_ES": "¡No te olvides del operador ^!",
|
||||
"pt_BR": "Não se esqueça do operador circunflexo (^)",
|
||||
"gl" : "Non se esqueza do operador circunflexo (^)",
|
||||
"zh_CN": "记住操作符(^)!",
|
||||
|
@ -331,6 +333,81 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"es_ES": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Referencias relativas",
|
||||
"",
|
||||
"Moverse por git usando los hashes de los commits puede volverse un tanto tedioso. En el mundo real no vas a tener una visualización de commits tan linda en la terminal, así que vas a tener que usar `git log` para ver los hashes.",
|
||||
"",
|
||||
"Peor aún, los hashes en general son mucho más largos en el git real, también. Por ejemplo, el hash del commit que introduje en el nivel anterior es `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. No es algo particularmente fácil de nombrar...",
|
||||
"",
|
||||
"Lo interesante es que git es bastante astuto con los hashes. Sólo requiere que especifiques una cantidad de caracteres suficientes para identificar unívocamente al commit. Entonces, yo podría simplemente tipear `fed2` en lugar de esa cadena larga de arriba."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Como ya dije, especificar los commits por su hash no es la manera más conveniente, y por eso git tiene referencias relativas. ¡Son geniales!",
|
||||
"",
|
||||
"Con las referencias relativas puedes arrancar de algún lugar recordable (como la rama `bugFix`, o `HEAD`) y trabajar desde ahí.",
|
||||
"",
|
||||
"Los commits relativos son poderosos, pero ahora vamos a presentar sólo dos formas simples:",
|
||||
"",
|
||||
"* Moverse un commit hacia atrás con `^`",
|
||||
"* Moverse una cantidad de commits hacia atrás con `~<num>`"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Veamos el operador ^ primero. Cada vez que le agregas eso al nombre de una referencia, le estás diciendo a git que use el padre del commit especificado.",
|
||||
"",
|
||||
"Entonces, decir `master^` es equivalente a \"el primer padre de `master`\".",
|
||||
"",
|
||||
"`master^^` es el _abuelo_ (segunda generación de ancestros) de `master`",
|
||||
"",
|
||||
"Veamos el commit que está antes de master aquí"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Zas! Ahí está. Mucho más simple que escribir el hash de ese commit"
|
||||
],
|
||||
"command": "git checkout master^",
|
||||
"beforeCommand": "git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"También puedes referenciar a `HEAD` como una referencia relativa. Usémoslo un par de veces para movernos hacia atrás en nuestro árbol"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Fácil! Podemos volver en el tiempo con `HEAD^`"
|
||||
],
|
||||
"command": "git checkout C3; git checkout HEAD^; git checkout HEAD^; git checkout HEAD^",
|
||||
"beforeCommand": "git commit; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Para completar este nivel, haz checkout sobre el padre del commit de `bugFix`. Esto va a detachear a `HEAD`.",
|
||||
"",
|
||||
"Puedes especificar el hash si quieres, pero mejor ¡trata de usar la referencia relativa!"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pt_BR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -8,6 +8,7 @@ exports.level = {
|
|||
"zh_CN": "这一关至少要用到一次直接引用 (即哈希值)",
|
||||
"zh_TW": "這一關至少要用到一次直接參考(hash)",
|
||||
"es_AR": "Vas a necesitar usar al menos una referencia directa (hash) para completar este nivel",
|
||||
"es_ES": "Vas a necesitar usar al menos una referencia directa (hash) para completar este nivel",
|
||||
"pt_BR": "Você precisará usar pelo menos uma referência direta (hash) para completar este nível",
|
||||
"gl" : "Precisarás usar polo menos unha referencia directa (hash) para completar este nivel",
|
||||
"de_DE": "Du musst mindestens einen Hash benutzen, um dieses Level zu schaffen",
|
||||
|
@ -21,6 +22,7 @@ exports.level = {
|
|||
"de_DE": "Relative Referenzen #2 (~)",
|
||||
"ja" : "相対リファレンス その2 (~)",
|
||||
"es_AR": "Referencias relativas #2 (~)",
|
||||
"es_ES": "Referencias relativas #2 (~)",
|
||||
"pt_BR": "Referências relativas #2 (~)",
|
||||
"gl" : "Referencias relativas #2 (~)",
|
||||
"fr_FR": "Références relatives #2 (~)",
|
||||
|
@ -169,6 +171,75 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"es_ES": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### El operador \"~\"",
|
||||
"",
|
||||
"Digamos que quieres moverte un montón de niveles atrás en tu árbol de commits. Podría ser tedioso escribir `^` muchas veces, por lo que git tiene el operador ~.",
|
||||
"",
|
||||
"",
|
||||
"El operador ~ (opcionalmente) toma una cantidad que especifica la cantidad de padres que quieres volver hacia atrás. Veámoslo en acción"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Especifiquemos una cantidad de commits hacia atrás con `~`."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Zas! Bien conciso -- las referencias relativas la rompen."
|
||||
],
|
||||
"command": "git checkout HEAD~4",
|
||||
"beforeCommand": "git commit; git commit; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### Forzando las ramas",
|
||||
"",
|
||||
"Ahora que eres un experto en las referencias relativas, *usémoslas* para algo.",
|
||||
"",
|
||||
"Una de las formas más comunes en que uso las referencias relativas es para mover las ramas. Puedes reasignar directamente una rama a un commit usando la opción `-f`. Algo así como:",
|
||||
"",
|
||||
"`git branch -f master HEAD~3`",
|
||||
"",
|
||||
"Mueve (forzadamente) la rama master tres padres por detrás de HEAD."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Veamos ese comando previo en acción"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Allá vamos! Las referencias relativas nos proporcionaron una manera concisa de referenciar a `C1`, y forzar la rama (`-f`) nos dio una manera rápida de mover la rama a esa ubicación"
|
||||
],
|
||||
"command": "git branch -f master HEAD~3",
|
||||
"beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Ahora que viste las referencias relativas y el forzar ramas combinados, usémoslos para resolver el siguiente nivel.",
|
||||
"",
|
||||
"Para completar este nivel, mueve `HEAD`, `master` y `bugFix` a sus destinos finales."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pt_BR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -9,6 +9,7 @@ exports.level = {
|
|||
"ja" : "変更を元に戻す",
|
||||
"fr_FR": "Annuler des changements avec Git",
|
||||
"es_AR": "Revirtiendo cambios en git",
|
||||
"es_ES": "Revirtiendo cambios en git",
|
||||
"pt_BR": "Revertendo mudanças no Git",
|
||||
"gl" : "Revertindo cambios en git",
|
||||
"ko" : "Git에서 작업 되돌리기",
|
||||
|
@ -22,6 +23,7 @@ exports.level = {
|
|||
"de_DE": "Beachte, dass revert und reset unterschiedliche Argumente benötigen",
|
||||
"fr_FR": "Notez que `revert` et `reset` n'ont pas les mêmes arguments.",
|
||||
"es_AR": "Notá que revert y reset toman parámetros distintos",
|
||||
"es_ES": "Observa que revert y reset utilizan parámetros distintos",
|
||||
"pt_BR": "Lembre que revert e reset recebem parâmetros diferentes",
|
||||
"gl" : "Lembra que revert e reset usan parámetros distintos",
|
||||
"zh_CN": "注意 revert 和 reset 使用的参数不同。",
|
||||
|
@ -158,6 +160,69 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"es_ES": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Revirtiendo cambios en git",
|
||||
"",
|
||||
"Hay varias maneras de revertir cambios en git. Y, tal como al commitear, revertir cambios en git tiene tanto un componente de bajo nivel (indexar archivos o fragmentos individualmente) como un componente de alto nivel (cómo son efectivamente revertidos los cambios). Nuestra aplicación se va a concentrar en esto último.",
|
||||
"",
|
||||
"Hay dos formas principales de deshacer cambios en git -- uno es usando `git reset` y el otro es usando `git revert`. Vamos a ver cada uno de ellos a continuación",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"## Git Reset",
|
||||
"",
|
||||
"`git reset` deshace los cambios moviendo la referencia de una rama hacia atrás en el tiempo a un commit anterior. En este sentido puedes imaginarlo como \"reescribir la historia\". `git reset` va a mover la rama hacia atrás, como si el commit nunca se hubiera hecho.",
|
||||
"",
|
||||
"Veamos cómo es eso:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"¡Genial! git simplemente movió la referencia de la rama master atrás hacia `C1`. Ahora tu repositorio local está en un estado como si `C2` nunca hubiera ocurrido"
|
||||
],
|
||||
"command": "git reset HEAD~1",
|
||||
"beforeCommand": "git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"## Git Revert",
|
||||
"",
|
||||
"Mientras que resetear los cambios funciona estupendamente para ramas locales en tu máquina, su método de \"reescribir la historia\" no funciona para ramas remotas que otros están usando.",
|
||||
"",
|
||||
"Para revertir cambios y *compartir* esa _revertida_ con otros, necesitamos usar `git revert`. Veámoslo en acción"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Extraño. Hay un nuevo commit aplicado sobre el que queríamos revertir. Eso es porque este nuevo commit `C2'` introduce *cambios* - sólo que esos cambios son exactamente los necesarios para revertir los que introdujo `C2`.",
|
||||
"",
|
||||
"Cuando utilices revert, puedes hacer push sobre ese cambio para compartirlo con otros."
|
||||
],
|
||||
"command": "git revert HEAD",
|
||||
"beforeCommand": "git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Para completar este nivel, deshaz los dos commits más recientes, tanto en `local` como en `pushed`.",
|
||||
"",
|
||||
"Ten en cuenta que `pushed` es una rama remota y `local` es una rama local -- eso debería ayudarte a elegir qué métodos usar."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"pt_BR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue