Traduction du second niveau

This commit is contained in:
Alexandre Honorat 2014-07-28 16:23:46 +01:00
parent 5a749780dc
commit cd28b2d37f
6 changed files with 358 additions and 4 deletions

View file

@ -7,6 +7,7 @@ exports.level = {
}, },
"startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C3\",\"id\":\"bugFix\"},\"side\":{\"target\":\"C5\",\"id\":\"side\"},\"another\":{\"target\":\"C7\",\"id\":\"another\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C4\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C1\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", "startTree": "{\"branches\":{\"master\":{\"target\":\"C1\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C3\",\"id\":\"bugFix\"},\"side\":{\"target\":\"C5\",\"id\":\"side\"},\"another\":{\"target\":\"C7\",\"id\":\"another\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C2\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C1\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C4\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C1\"],\"id\":\"C6\"},\"C7\":{\"parents\":[\"C6\"],\"id\":\"C7\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}",
"name": { "name": {
"fr_FR": "Introduction à cherry-pick",
"en_US": "Cherry-pick Intro", "en_US": "Cherry-pick Intro",
"de_DE": "Einführung Cherry-picking", "de_DE": "Einführung Cherry-picking",
"es_AR": "Introducción a cherry-pick", "es_AR": "Introducción a cherry-pick",
@ -14,6 +15,7 @@ exports.level = {
"zh_TW": "介紹 cherry-pick" "zh_TW": "介紹 cherry-pick"
}, },
"hint": { "hint": {
"fr_FR": "git cherry-pick suivis par les noms de commits"
"en_US": "git cherry-pick followed by commit names!", "en_US": "git cherry-pick followed by commit names!",
"de_DE": "git cherry-pick gefolgt von Commit-Namen.", "de_DE": "git cherry-pick gefolgt von Commit-Namen.",
"es_AR": "git cherry-pick seguido de los nombres de los commits", "es_AR": "git cherry-pick seguido de los nombres de los commits",
@ -78,6 +80,63 @@ exports.level = {
} }
] ]
}, },
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Déplacer votre travail",
"",
"Nous avons maintenant pratiqué les bases de git -- commits, branches, et déplacements dans l'arbre des commits. Ces seuls concepts sont suffisants pour utiliser 90% du pouvoir des dépôt git et satisfaire les principaux besoins des développeurs.",
"",
"Les 10% restants, cependant, peuvent être assez utiles pour systèmes assez complexes (ou quand vous vous êtes mis tout seul dans le pétrin). Le prochain concept que nous allons aborder est \"le déplacement de travail\" (moving work around) -- en d'autres termes, c'est une façon des développeurs de dire \"Je veux ce travail ici et cet autre là.\".",
"",
"Cela peut sembler compliqué, mais c'est un concept simple."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Cherry-pick",
"",
"La première commande de cette série est `git cherry-pick`. Elle a le prototype suivant :",
"",
"* `git cherry-pick <Commit1> <Commit2> <...>`",
"",
"C'est une manière simple de dire qu'on voudrait copier une série de commits en-dessous de notre emplacement actuel (`HEAD`). Personnellement, j'adore `cherry-pick` parce qu'il y a un petit peu de magie dedans, et parce que c'est facile à comprendre.",
"",
"Faisons une démonstration !",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Ici le dépôt que nous avons contient du travail dans la branche `side`, que nous voulons copier dans `master`. Cela pourrait être fait avec un rebase (que nous avons déjà appris), mais voyons comment cherry-pick fonctionne."
],
"afterMarkdowns": [
"Voilà ! Nous voulions les commits `C2` et `C4` et git les a fait apparaître juste sous nos jambes. Aussi simple que ça !"
],
"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": [
"Pour finir ce niveau, copiez simplement le travail désigné dans la branche master. Vous pouvez voir les commits que nous souhaitons avoir en regardant dans la fenêtre d'objectif.",
""
]
}
}
]
},
"es_AR": { "es_AR": {
"childViews": [ "childViews": [
{ {

View file

@ -5,6 +5,7 @@ exports.level = {
"name": { "name": {
"en_US": "Detach yo' HEAD", "en_US": "Detach yo' HEAD",
"es_AR": "Desatacheá tu HEAD", "es_AR": "Desatacheá tu HEAD",
"fr_FR": "Détachez votre HEAD",
"zh_CN": "分离 HEAD", "zh_CN": "分离 HEAD",
"zh_TW": "分離 HEAD", "zh_TW": "分離 HEAD",
"de_DE": "Den Kopf abtrennen" "de_DE": "Den Kopf abtrennen"
@ -13,6 +14,7 @@ exports.level = {
"en_US": "Use the label (hash) on the commit for help!", "en_US": "Use the label (hash) on the commit for help!",
"es_AR": "¡Usá la etiqueta (hash) sobre el commit para ayudarte!", "es_AR": "¡Usá la etiqueta (hash) sobre el commit para ayudarte!",
"de_DE": "Benutze den Bezeichner (den Hash) des Commits.", "de_DE": "Benutze den Bezeichner (den Hash) des Commits.",
"fr_FR": "Utiiser le label (identifiant) du commit pour aider !"
"zh_TW": "使用 commit 上的標籤hash來幫助你", "zh_TW": "使用 commit 上的標籤hash來幫助你",
"zh_CN": "使用提交记录上的标签(hash)来求助!" "zh_CN": "使用提交记录上的标签(hash)来求助!"
}, },
@ -173,6 +175,84 @@ exports.level = {
} }
] ]
}, },
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Se déplacer dans Git",
"",
"Avant que nous découvrions quelques unes des fonctionnalités les plus avancées de Git, il est important de comprendre les différents manières de se déplacer dans l'arbre des commits qui représente votre projet.",
"",
"Une fois que ces déplacements seront aisés, votre puissance avec les autres commandes de git sera amplifiée !",
"",
"",
"",
"",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## HEAD",
"",
"Premièrement nous avons parlé de \"HEAD\". HEAD est le nom symbolique pour le commit sur lequel nous nous situons actuellement -- plus simplement c'est le commit sur lequel nous travaillons.",
"",
"HEAD pointe toujours sur le commit le plus récent dans l'arbre des commits. La plupart des commandes git qui modifient l'arbre des commits vont commencer par modifier HEAD.",
"",
"Normalement HEAD pointe sur le nom d'une branche (comme bugFix). Quand vous effectuez un commit, le statut de bugFix est modifié et ce changement est visible par le biais de HEAD."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Voyons cela en action. Ici nous allons indiquer où se situe HEAD avant et après un commit."
],
"afterMarkdowns": [
"Vous voyez ! HEAD était caché en dessous de la branche `master` tout le long."
],
"command": "git checkout C1; git checkout master; git commit; git checkout C2",
"beforeCommand": ""
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"### Détacher HEAD",
"",
"Détacher HEAD signifie simplement de l'attacher à un commit instead au lieu d'une branch. Voilà à quoi cela ressemble actuellement :",
"",
"HEAD -> master -> C1",
""
],
"afterMarkdowns": [
"Et maintenant c'est",
"",
"HEAD -> C1"
],
"command": "git checkout C1",
"beforeCommand": ""
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pour terminer ce niveau, détacher HEAD de `bugFix` et attachez-le plutôt au commit.",
"",
"Spécifiez le commit par son identifiant (hash). Le hash de chaque commit est affiché dans le rond qui représente le commit."
]
}
}
]
},
"de_DE": { "de_DE": {
"childViews": [ "childViews": [
{ {

View file

@ -10,12 +10,14 @@ exports.level = {
"en_US": "you can use either branches or relative refs (HEAD~) to specify the rebase target", "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_AR": "podés usar tanto ramas como referencias relativas (HEAD~) para especificar el objetivo del rebase",
"de_DE": "Du kannst entweder Branches oder relative Ref-Angaben (z.B. HEAD~) benutzen, um das Ziel des Rebase anzugeben.", "de_DE": "Du kannst entweder Branches oder relative Ref-Angaben (z.B. HEAD~) benutzen, um das Ziel des Rebase anzugeben.",
"fr_FR": "Vous pouvez utiliser soit les branches, soit les références relatives (HEAD~) pour spéficier la cible à rebaser",
"zh_TW": "你可以指定 branch 或者是相對位置HEAD~)來表示 rebase 的目標" "zh_TW": "你可以指定 branch 或者是相對位置HEAD~)來表示 rebase 的目標"
}, },
"name": { "name": {
"en_US": "Interactive Rebase Intro", "en_US": "Interactive Rebase Intro",
"es_AR": "Introducción al rebase interactivo", "es_AR": "Introducción al rebase interactivo",
"de_DE": "Einführung Interactive Rebase", "de_DE": "Einführung Interactive Rebase",
"fr_FR": "Introduction à rebase"
"zh_CN": "Rebase 交互命令介绍 ", "zh_CN": "Rebase 交互命令介绍 ",
"zh_TW": "介紹互動式的 rebase" "zh_TW": "介紹互動式的 rebase"
}, },
@ -85,6 +87,71 @@ exports.level = {
} }
] ]
}, },
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Git Interactive Rebase",
"",
"Git cherry-pick est pratique quand vous savez exactement quels commits vous voulez (_et_ que vous connaissez leurs identifiants) -- il est difficile de battre la simplicité qu'il procure.",
"",
"Mais que faire quand vous ne connaissez pas les identifiants des commits ? Heureusement git a pensé à vous dans pour ce cas-là ! Nous pouvons utiliser un rebase interactif pour cela -- c'est la meilleure façon de reconsidérer une série de commits que vous vous apprêtez à rebaser.",
"",
"Allons un peu plus dans les détails ..."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Tout rebase interactif signifie utiliser la commande `rebase` avec l'option `-i`.",
"",
"Si vous mettez cette option, git va ouvrir une interface graphique pour vous montrer quels commits vont être copiés en dessous de la cible sur laquelle vous rebasez. Elle vous montre aussi les identifiants et commentaires des commits, ce qui est pratique pour s'orienter parmi les commits.",
"",
"Pour le \"vrai\" git, l'interface graphique correspond en fait à ouvrir un fichier dans un éditeur de texte comme `vim`. Pour notre exemple, j'ai construit une petite fenêtre de dialogue qui se comporte de la même façon."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Quand le rebase interactif s'ouvre, vous avez la possibilité de faire 3 choses :",
"",
"* Vous pouvez réarranger les commits simplement en changeant leur ordre dans l'interface graphique (dans notre fenêtre de dialogue, cela signifie déplacer les objets dedans avec la souris -- drag and drop).",
"* Vous pouvez omettre certains commits. Cela est désigné par `pick` -- cliquer sur `pick` désélectionne/resélectionne le commit.",
"* Enfin, vous pouvez écraser des commits. Malheureusement notre niveau ne supporte pas cette option, nous allons donc sauter les détails concernant cette possibilité. Pour faire court, cela vous permet de mélanger des commits.",
"",
"Super ! Voyons un exemple."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Quand vous activez le bouton, une fenêtre de rebase interactif va s'ouvrir. Reordonnez quelques commits (ou supprimez-en certains) et regardez le résultat !"
],
"afterMarkdowns": [
"Boum ! Git a copié les commits de la même manière que vous l'aviez spécifié."
],
"command": "git rebase -i HEAD~4 --aboveAll",
"beforeCommand": "git commit; git commit; git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pour finir ce niveau, faites un rebase intractif et atteignez l'ordre indiqué dans le fenêtre d'objectif. Souvenez-vous que vous pouvez toujours exécuter les commandes `undo` ou `reset` pour réparer vos erreurs :D"
]
}
}
]
},
"zh_TW": { "zh_TW": {
"childViews": [ "childViews": [
{ {

View file

@ -4,6 +4,7 @@ exports.level = {
"startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C4\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}", "startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C4\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C3\"],\"id\":\"C4\"}},\"HEAD\":{\"target\":\"master\",\"id\":\"HEAD\"}}",
"name": { "name": {
"en_US": "Relative Refs (^)", "en_US": "Relative Refs (^)",
"fr_FR": "Références relatives (^)",
"zh_CN": "相对引用(^)", "zh_CN": "相对引用(^)",
"zh_TW": "相對引用(^", "zh_TW": "相對引用(^",
"es_AR": "Referencias relativas (^)", "es_AR": "Referencias relativas (^)",
@ -11,6 +12,7 @@ exports.level = {
}, },
"hint": { "hint": {
"en_US": "Remember the Caret (^) operator!", "en_US": "Remember the Caret (^) operator!",
"fr_FR": "Rappelez-vous de l'opérateur circonflexe (^)"
"de_DE": "Denk an den Dach-Operator (^)!", "de_DE": "Denk an den Dach-Operator (^)!",
"es_AR": "¡No te olvides del operador ^!", "es_AR": "¡No te olvides del operador ^!",
"zh_CN": "记住插入(^)操作符!", "zh_CN": "记住插入(^)操作符!",
@ -92,6 +94,81 @@ exports.level = {
} }
] ]
}, },
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Références relatives",
"",
"Se déplacer dans Git en spécifiant des identifiants de commits (hashes) peut être un peu agaçant. Dans le monde réel vous n'aurez pas une vue sur un joli arbre des commits à côté de votre terminal, ainsi vous aurez à utiliser `git log` pour connaître les identifiants.",
"",
"De plus, les identifiants sont plus longs dans le vrai monde de Git qu'ici. Par exemple, l'identifiant du commit introduit au précédent niveau était `fed2da64c0efc5293610bdd892f82a58e8cbc5d8`. Difficilement mémorisable ...",
"",
"Le côté positif est que Git est intelligent avec les identifiants. Vous avez seulement à spécifier suffisamment de premiers caractères de l'identifiant jusqu'à ce qu'il reconnaisse exactement le commit. Ainsi je peux taper `fed2` au lieu de la longue chaîne ci-dessus."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Comme je l'ai dit, spécifier un commit par son identifiant n'est pas très convénient, c'est pourquoi Git a des références relatives. Elles sont géniales !",
"",
"Avec les références relatives vous pouvez commencer un endroit mémorisable (comme la branche `bugFix` ou `HEAD`) et travailler depuis ici.",
"",
"Les commits relatifs sont puissants, et on va en introduire deux simples ici :",
"",
"* Revenir d'un commit en arrière avec `^`",
"* Revenir de plusieurs en arrière avec `~<num>`"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Regardons l'opérateur circonflexe (^) d'abord. Chaque fois que vous le faites suivre un nom de référence, vous êtes en train de demander à Git de trouver le parent du commit spécifié.",
"",
"Ainsi, `master^` est équivalent à \"le premier parent de `master`\".",
"",
"`master^^` est le grand-parent (ancêtre de seconde génération) de `master`",
"",
"Faisons un checkout du commit avant master."
],
"afterMarkdowns": [
"Boum ! Fini. Bien plus facile qu'écrire l'identifiant du commit."
],
"command": "git checkout master^",
"beforeCommand": "git commit"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Vous pouvez aussi utiliser `HEAD` comme une référence relative. Utilisons cela plusieurs fois pour remonter l'arbre des commits."
],
"afterMarkdowns": [
"Facile ! Nous pouvons voyager dans le temps avec `HEAD^`"
],
"command": "git checkout C3; git checkout HEAD^; git checkout HEAD^; git checkout HEAD^",
"beforeCommand": "git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pour compléter ce niveau, faites un checkout du commit parent de `bugFix`. Cela va détacher `HEAD`.",
"",
"Vous pouvez spécifier l'identifiant du commit si vous voulez, mais essayez plutôt d'utiliser les références relatives !"
]
}
}
]
},
"de_DE": { "de_DE": {
"childViews": [ "childViews": [
{ {

View file

@ -4,6 +4,7 @@ exports.level = {
"startTree": "{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C5\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"C2\",\"id\":\"HEAD\"}}", "startTree": "{\"branches\":{\"master\":{\"target\":\"C4\",\"id\":\"master\"},\"bugFix\":{\"target\":\"C5\",\"id\":\"bugFix\"}},\"commits\":{\"C0\":{\"parents\":[],\"id\":\"C0\",\"rootCommit\":true},\"C1\":{\"parents\":[\"C0\"],\"id\":\"C1\"},\"C2\":{\"parents\":[\"C1\"],\"id\":\"C2\"},\"C3\":{\"parents\":[\"C1\"],\"id\":\"C3\"},\"C4\":{\"parents\":[\"C2\"],\"id\":\"C4\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"HEAD\":{\"target\":\"C2\",\"id\":\"HEAD\"}}",
"hint": { "hint": {
"en_US": "You'll need to use at least one direct reference (hash) to complete this level", "en_US": "You'll need to use at least one direct reference (hash) to complete this level",
"fr_FR": "Vous aurez besoin d'utiliser au moins une référence directe (hash) pour compléter ce niveau.",
"zh_CN": "这一关至少要用到一次直接引用(hash)", "zh_CN": "这一关至少要用到一次直接引用(hash)",
"zh_TW": "這一關至少要用到一次直接參考hash", "zh_TW": "這一關至少要用到一次直接參考hash",
"es_AR": "Vas a necesitar usar al menos una referencia directa (hash) para completar este nivel", "es_AR": "Vas a necesitar usar al menos una referencia directa (hash) para completar este nivel",
@ -13,6 +14,7 @@ exports.level = {
"en_US": "Relative Refs #2 (~)", "en_US": "Relative Refs #2 (~)",
"de_DE": "Relative Referenzen #2 (~)", "de_DE": "Relative Referenzen #2 (~)",
"es_AR": "Referencias relativas #2 (~)", "es_AR": "Referencias relativas #2 (~)",
"fr_FR": "Références relatives #2 (~)",
"zh_CN": "相对引用2(~)", "zh_CN": "相对引用2(~)",
"zh_TW": "相對引用二(~" "zh_TW": "相對引用二(~"
}, },
@ -155,7 +157,76 @@ exports.level = {
} }
] ]
}, },
"de_DE": { "fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### L'opérateur \"~\"",
"",
"Disons que vous suohaitez remontez beaucoup de niveaux dans l'arbre des commits. Cela peut être ennuyeux d'utiliser `^` plusieurs fois, ainsi Git a aussi l'opérateur tilde (~).",
"",
"",
"L'opérateur tilde prend optionnellement à sa suite un nombre qui spécifie le nombre de parents que vous souhaitez remonter. Voyons cela en action"
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Spécifions le nombre de commits en arrière avec `~`."
],
"afterMarkdowns": [
"Boum! Tellement rapide -- les références relatices sont géniales."
],
"command": "git checkout HEAD~4",
"beforeCommand": "git commit; git commit; git commit"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Forcer les branches",
"",
"Vous êtes maintenant un expert des références relatives, alors servons-nous en.",
"",
"L'une des principales façons dont j'utilise les références relatives est pour réorganiser les branches. Vous pouvez directement réassigner les branches à un commit avec l'option `-f`. Ainsi quelque chose comme :",
"",
"`git branch -f master HEAD~3`",
"",
"bouge (de force) la branch master à trois parents derrière HEAD."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Voyons l'effet de la précédente commande"
],
"afterMarkdowns": [
"On y est ! Les références relatives nous donne une méthode concise pour référencer `C1` et le forçage de branche (`-f`) nous donne une méthode rapide pour bouger une branche à cette emplacement."
],
"command": "git branch -f master HEAD~3",
"beforeCommand": "git commit; git commit; git commit; git checkout -b bugFix"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Maintenant que vous avez vu les références relatives et le forçage de branche ensemble mêlés ensemble, utilisons-les pour résoudre le niveau suivant.",
"",
"Pour compléter ce niveau, bouger `HEAD`, `master`, et `bugFix` à leurs destinations désignées."
]
}
}
]
},
"de_DE": {
"childViews": [ "childViews": [
{ {
"type": "ModalAlert", "type": "ModalAlert",

View file

@ -16,7 +16,7 @@ exports.level = {
"hint": { "hint": {
"en_US": "Notice that revert and reset take different arguments.", "en_US": "Notice that revert and reset take different arguments.",
"de_DE": "Beachte, dass revert und reset unterschiedliche Argumente benötigen", "de_DE": "Beachte, dass revert und reset unterschiedliche Argumente benötigen",
"fr_FR": "", "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_AR": "Notá que revert y reset toman parámetros distintos",
"zh_CN": "注意 revert 和 reset 使用不同的参数。", "zh_CN": "注意 revert 和 reset 使用不同的参数。",
"zh_TW": "注意 revert 和 reset 使用不同的參數。", "zh_TW": "注意 revert 和 reset 使用不同的參數。",
@ -284,9 +284,9 @@ exports.level = {
"markdowns": [ "markdowns": [
"## Annuler des changements avec Git", "## Annuler des changements avec Git",
"", "",
"Il y a de nombreuses façons d'annuler des changement avec Git. De même que pour les commits, annuler des changements avec Git a à la fois un aspect bas-niveau (gestion dans le 'staging' des fichiers et morceaux de fichiers) et un aspect de plus haut niveau 9comment les changements sont effectivement annulés). Nous allons nous intéresser à ce dernier point.", "Il y a de nombreuses façons d'annuler des changement avec Git. De même que pour les commits, annuler des changements avec Git a à la fois un aspect bas-niveau (gestion des fichiers et morceaux de fichiers) et un aspect de plus haut niveau (comment les changements sont effectivement annulés). Nous allons nous intéresser à ce dernier point.",
"", "",
"Il y a principalement deux façons d'annuler des changements avec Git -- l'une est `git reset` et l'autre est `git revert`. Nous allons maintenant voir chacune de ces façons", "Il y a principalement deux façons d'annuler des changements avec Git -- l'une est `git reset` et l'autre est `git revert`. Nous allons maintenant voir chacune de ces façons.",
"" ""
] ]
} }