mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-25 23:48:34 +02:00
French translation - some files
This commit is contained in:
parent
29de85eb55
commit
d7841e240c
8 changed files with 351 additions and 2 deletions
|
@ -53,6 +53,7 @@ exports.strings = {
|
|||
'en_US': 'Warning! Mercurial does aggressive garbage collection and thus needs to prune your tree',
|
||||
'zh_TW': '注意! Mercurial 會積極地做垃圾收集,而且會因此把你的 tree 給縮小。',
|
||||
'es_AR': '¡Cuidado! Mercurial hace garbage collection agresivamente y necesita eliminar tu árbol',
|
||||
'fr_FR': 'Attention, Mercurial supprime de façon agressive et nécessite un prune du repository',
|
||||
'de_DE': 'Achtung! Mercurial macht aggressive Garbage Collection und muss daher deinen Baum reduzieren',
|
||||
'ru': 'Внимание! Mercurial использует агрессивный сборщик мусора и обрезает ваше дерево'
|
||||
},
|
||||
|
@ -63,6 +64,7 @@ exports.strings = {
|
|||
'zh_TW': '對於這個 app 來說,-A 選項並不是必須的,只需要 commit 就好!',
|
||||
'es_AR': 'La opción -A no es necesaria para esta aplicación, simplemente hacé commit',
|
||||
'de_DE': 'Die Option -A wird in dieser Anwendung nicht benötigt, committe einfach!',
|
||||
'fr_FR': 'L\'option -A n\'est pas nécessaire pour cette application, simplemer commiter',
|
||||
'ru': 'Опция -A не требуется для этого приложения, просто сделайте коммит.'
|
||||
},
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
@ -70,6 +72,7 @@ exports.strings = {
|
|||
'__desc__': 'One of the errors for hg',
|
||||
'en_US': 'There is no status command for this app, since there is no staging of files. Try hg summary instead',
|
||||
'es_AR': 'No hay un comando status para esta aplicación, dado que no hay archivos que indexar. Probá hg summary, en cambio',
|
||||
'fr_FR': 'Il n\'y a pas de commande status pour cette application, car il n\'y a pas de fichier stagé. Essayé hg summary à la place.',
|
||||
'de_DE': 'Es gibt keinen Befehl status in dieser Anwendung, da es kein Staging von Dateien gibt. Probier stattdessen hg summary',
|
||||
'ru': 'Команда status не поддерживается в этом приложении, так как здесь нет файлов. Попробуйте выполнить hg summary'
|
||||
},
|
||||
|
@ -78,6 +81,7 @@ exports.strings = {
|
|||
'__desc__': 'One of the errors for hg',
|
||||
'en_US': 'I need the option {option} for that command!',
|
||||
'es_AR': '¡Necesito la opción {opcion} para ese comando!',
|
||||
'fr_FR': 'J\'ai besoin de l\'option {option} pour cette commande',
|
||||
'de_DE': 'Ich benötige die Option {option} für diesen Befehl!',
|
||||
'ru': 'Для этой команды требуется опция {option}'
|
||||
},
|
||||
|
@ -86,6 +90,7 @@ exports.strings = {
|
|||
'__desc__': 'hg log without -f (--follow)',
|
||||
'en_US': 'hg log without -f is currently not supported, use -f',
|
||||
'es_AR': 'hg log sin el parámetro -f no está soportado, usá -f',
|
||||
'fr_FR': 'hg log sans -f n\'est pas supporté',
|
||||
'de_DE': 'hg log ohne -f wird aktuell nicht unterstützt, benutze bitte -f',
|
||||
'ru': 'hg log без опции -f в настоящий момент не поддерживается, используйте -f'
|
||||
},
|
||||
|
@ -749,12 +754,14 @@ exports.strings = {
|
|||
'__desc__': 'button label to show goal',
|
||||
'en_US': 'Show Goal',
|
||||
'zh_TW': '顯示目標',
|
||||
'fr_FR': 'Afficher les cibles',
|
||||
'es_AR': 'Mostrar objetivo'
|
||||
},
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
'hide-goal-button': {
|
||||
'__desc__': 'button label to hide goal',
|
||||
'en_US': 'Hide Goal',
|
||||
'fr_FR': 'Cacher les cibles',
|
||||
'zh_TW': '隱藏目標',
|
||||
'es_AR': 'Ocultar obetivo'
|
||||
},
|
||||
|
@ -772,6 +779,7 @@ exports.strings = {
|
|||
'goal-only-master': {
|
||||
'__desc__': 'the helper message for the window that shows the goal tree when the goal will only be compared using the master branch',
|
||||
'en_US': '<span class="fwber">Note:</span> Only the master branch will be checked in this level. The other branches are simply for reference (shown as dashed labels below). As always, you can hide this dialog with "hide goal"',
|
||||
'fr_FR': '<span class="fwber">Note:</span> Seulement la branche master peut être check id à ce niveau. Les autres branches sont simplement une référence (Montré avec un tiret). Comme toujours, vous pouvez cacher cette fenêtre avec "Cacher les objectifs"',
|
||||
'de_DE': '<span class="fwber">Hinweis:</span> In diesem Level wird nur der Branch master geprüft. Die anderen Branches dienen nur als Vergleichsbasis (als gestrichelte Bezeichner dargestellt). Wie immer kannst du diese Meldung mit "hide goal" ausblenden',
|
||||
'es_AR': '<span class="fwber">Nota:</span> Sólo la rama master va a ser chequeada en este nivel. Las otras ramas sólo son para referencia. Como siempre, podés ocultar este mensaje con "hide goal"',
|
||||
'zh_TW': '在這個關卡中,只有 master branch 會被檢查,別的 branch 只是用來做為 reference (下面用虛線符號表示)。一如往常,你可以利用 "hide goal" 來隱藏這個對話視窗'
|
||||
|
|
|
@ -5,6 +5,7 @@ exports.level = {
|
|||
"name": {
|
||||
"en_US": "Multiple parents",
|
||||
"zh_CN": "多个父提交记录",
|
||||
'fr_FR': 'Parents multiples',
|
||||
"de_DE": "Mehrere Vorgänger",
|
||||
"es_AR": "Múltiples padres",
|
||||
"zh_TW": "多個 parent commit"
|
||||
|
@ -12,6 +13,7 @@ exports.level = {
|
|||
"hint": {
|
||||
"en_US": "Use `git branch bugWork` with a target commit to create the missing reference.",
|
||||
"de_DE": "Nutze `git branch bugWork` mit einem Ziel-Commit um die fehlende Referenz zu erstellen.",
|
||||
'fr_FR': 'Utilisez "git branch bugWork" avec un commit pour créer une référence manquante',
|
||||
"zh_CN": "使用`git branch bugWork`加上一个目标提交记录来创建消失的引用。",
|
||||
"es_AR": "Usá `git branch bugWork` sobre algún commit para crear la referencia faltante",
|
||||
"zh_TW": "在一個指定的 commit 上面使用 `git branch bugWork`。"
|
||||
|
@ -191,6 +193,93 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"fr_FR": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### Determine les Parents",
|
||||
"",
|
||||
"Comme le symbole `~`, le symbole `^` accepte un numéro après lui.",
|
||||
"",
|
||||
"Au lieu d'entrer le nombre de génération à reculer (ce que `~` fait), le symbole `^` détermine quel parent fait le commit. Attention, un merge commit à deux parents ce qui peux porter à confusion.",
|
||||
"",
|
||||
"Normalement Git suit le \"premier\" parent pour un commit/merge, mais avec un numéro suivi de `^` le comportement par défault est modifié.",
|
||||
"",
|
||||
"Assez de bla bla, passons à l\'action",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Nous avons un commit/merge. Si nous faisons checkout `master^` sans le symbole, on obtient le premier parent suivant ce commit. ",
|
||||
"",
|
||||
"(*Dans notre vue, Le premier parent se situe juste au dessus du merge.*)"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Facile -- C\est ce que nous faisons toujours.."
|
||||
],
|
||||
"command": "git checkout master^",
|
||||
"beforeCommand": "git checkout HEAD^; git commit; git checkout master; git merge C2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Nous allons spécifier le deuxième parent à la place."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Vous voyez? Nous suivons le second parent."
|
||||
],
|
||||
"command": "git checkout master^2",
|
||||
"beforeCommand": "git checkout HEAD^; git commit; git checkout master; git merge C2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Le symbole `^` et `~` Permettes de se déplacer de façon très efficace:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Boom, vitesse du tonnerre!"
|
||||
],
|
||||
"command": "git checkout HEAD~; git checkout HEAD^2; git checkout HEAD~2",
|
||||
"beforeCommand": "git commit; git checkout C0; git commit; git commit; git commit; git checkout master; git merge C5; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Encore plus fou, c'est symboles peuvre être chainés (Inception style):"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Le même résultat, mais en une seule commande."
|
||||
],
|
||||
"command": "git checkout HEAD~^2~2",
|
||||
"beforeCommand": "git commit; git checkout C0; git commit; git commit; git commit; git checkout master; git merge C5; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### Essayez-le",
|
||||
"",
|
||||
"Pour réussir le niveau, créé une nouvelle branche à la bonne destination",
|
||||
"",
|
||||
"Évidement c'est plus rapide de spécifier le commit (C6 par exemple), mais faites le avec les symboles de déplacement."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"zh_CN": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -99,12 +99,14 @@ var sequenceInfo = exports.sequenceInfo = {
|
|||
displayName: {
|
||||
'en_US': 'Push & Pull -- Git Remotes!',
|
||||
'de_DE': 'Push & Pull -- entfernte Repositorys',
|
||||
'fr_FR': 'Push & Pull -- Git Remotes!',
|
||||
'es_AR': 'Push & Pull -- Git Remotes!',
|
||||
'zh_CN': 'Push & Pull -- Git Remotes!',
|
||||
'zh_TW': 'Push & Pull -- Git Remotes!'
|
||||
},
|
||||
about: {
|
||||
'en_US': 'Time to share your 1\'s and 0\'s kids; coding just got social',
|
||||
'fr_FR': 'C\'est le temps de partager vos 1 et vos 0 les envants, le code vient de devenir social.',
|
||||
'de_DE': 'Zeit Eure 1en und 0en zu teilen; Coding mit sozialer Komponente',
|
||||
'es_AR': 'Hora de compartir sus 1\'s y 0\'s, chicos; programar se volvió social!',
|
||||
'zh_CN': '是时候分享你的编码了',
|
||||
|
@ -116,12 +118,14 @@ var sequenceInfo = exports.sequenceInfo = {
|
|||
displayName: {
|
||||
'en_US': 'To Origin And Beyond -- Advanced Git Remotes!',
|
||||
'de_DE': 'Bis zum origin und noch weiter',
|
||||
'fr_FR': 'Vers l\'Orifin et plus loins encore -- Git Remotes avancé',
|
||||
'es_AR': 'Hasta el origin y más allá -- Git Remotes avanzado!',
|
||||
'zh_CN': '关于origin 和 其它仓库 -- Git Gemotes 高级命令',
|
||||
'zh_TW': '關於 origin 和其它 repo,git remote 的進階指令'
|
||||
},
|
||||
about: {
|
||||
'en_US': 'And you thought being a benevolent dictator would be fun...',
|
||||
'fr_FR': 'Et vous pensié que de devenir un dictateur serais amusant...',
|
||||
'es_AR': 'Y pensabas que ser un dictador benévolo sería divertido...',
|
||||
'zh_CN': '做一名仁慈的独裁者会很有趣..',
|
||||
'zh_TW': '而且你會覺得做一個仁慈的獨裁者會很有趣...',
|
||||
|
@ -132,10 +136,10 @@ var sequenceInfo = exports.sequenceInfo = {
|
|||
displayName: {
|
||||
'en_US': 'Moving Work Around',
|
||||
'de_DE': 'Code Umherschieben',
|
||||
'fr_FR': 'Déplacer le travail',
|
||||
'es_AR': 'Moviendo el trabajo por ahí',
|
||||
// INTL out of sync :(
|
||||
'ja': 'Rebaseをモノにする',
|
||||
'fr_FR': 'Maîtrise Rebase, Luke!',
|
||||
'zh_CN': '精通Rebase!',
|
||||
'zh_TW': '精通 rebase!',
|
||||
'ko': '리베이스 완전정복!'
|
||||
|
@ -143,10 +147,10 @@ var sequenceInfo = exports.sequenceInfo = {
|
|||
about: {
|
||||
'en_US': 'Get comfortable with modifying the source tree',
|
||||
'de_DE': 'Gewöhn dich daran, den Git-Baum zu verändern',
|
||||
'fr_FR': 'Soyez alaise de modifier l\'arbre Git',
|
||||
'es_AR': 'Ponete cómodo con modificar el directorio fuente',
|
||||
// INTL out of sync :(
|
||||
'ja': '話題のrebaseってどんなものだろう?って人にオススメ',
|
||||
'fr_FR': 'Qu\'est-ce que ce rebase dont tout le monde parle ? Découvrez-le !',
|
||||
'ko': '그 좋다고들 말하는 rebase에 대해 알아봅시다!',
|
||||
'zh_CN': '大家都在说的rebase究竟是神马?看看吧!',
|
||||
'zh_TW': '大家都在說的 rebase 到底是什麼阿?來看看吧!'
|
||||
|
|
|
@ -4,12 +4,14 @@ exports.level = {
|
|||
"startTree": "{\"branches\":{\"master\":{\"target\":\"C2\",\"id\":\"master\",\"remoteTrackingBranchID\":null},\"side\":{\"target\":\"C4\",\"id\":\"side\",\"remoteTrackingBranchID\":null},\"bugFix\":{\"target\":\"C6\",\"id\":\"bugFix\",\"remoteTrackingBranchID\":null}},\"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\"},\"C5\":{\"parents\":[\"C3\"],\"id\":\"C5\"},\"C6\":{\"parents\":[\"C5\"],\"id\":\"C6\"}},\"tags\":{\"v0\":{\"target\":\"C0\",\"id\":\"v0\",\"type\":\"tag\"},\"v1\":{\"target\":\"C3\",\"id\":\"v1\",\"type\":\"tag\"}},\"HEAD\":{\"target\":\"bugFix\",\"id\":\"HEAD\"}}",
|
||||
"name": {
|
||||
"en_US": "Git Describe",
|
||||
"fr_FR": "Git Describe",
|
||||
"de_DE": "Git Describe",
|
||||
"es_AR": "Git Describe",
|
||||
"zh_TW": "git describe"
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "Just commit once on bugFix when you're ready to move on",
|
||||
"en_US": "Faites un commit su bugFix quand vous êtes pret",
|
||||
"de_DE": "Committe nur einmal auf bugFix, wenn du soweit bist",
|
||||
"es_AR": "Simplemente commiteá una vez en bugFix cuando estés listo para seguir",
|
||||
"zh_TW": "當你要移動的時候,只要在 bugFix 上面 commit 就好了"
|
||||
|
@ -78,6 +80,69 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"fr_FR": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"### Git Describe",
|
||||
"",
|
||||
"Parce ce que les tags sont de très bonne références dans le code, git à une commande pour *describe* la différence entre le commit et le tag le plus récent. Cette commande s'appelle `git describe`!",
|
||||
"",
|
||||
"Git describe peux vous aider lorsque vous vous êtes beaucoup déplacé; peut être pratique après un git bisect ou lorsque vous revené de vacance après 3 semaines."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Git describe s'écrit comme suit:",
|
||||
"",
|
||||
"`git describe <ref>`",
|
||||
"",
|
||||
"Ou `<ref>` est un numéro de commit. Si vous ne specifiez pas de ref, HEAD est pris par défault.",
|
||||
"",
|
||||
"Le résultat de la commande est:",
|
||||
"",
|
||||
"`<tag>_<numCommits>_g<hash>`",
|
||||
"",
|
||||
"Ou `tag` est le tag le plus proche, `numCommits` le nombre de commit avec le tag, et `<hash>` le hash du commit décris."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Un petit exemple. Prennons cet arbre:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"La commande`git describe master` donne le résultat:",
|
||||
"",
|
||||
"`v1_2_gC2`",
|
||||
"",
|
||||
"et `git describe side` donne:",
|
||||
"",
|
||||
"`v2_1_gC4`"
|
||||
],
|
||||
"command": "git tag v2 C3",
|
||||
"beforeCommand": "git commit; go -b side HEAD~1; gc; gc; git tag v1 C0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Ceci résume bien git describe! Amusé vous pour bien comprendre describe.",
|
||||
"",
|
||||
"Lorsque vous serez confiant, faite simplement un commit pour finir le niveau. Un petit niveau bonus :P"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"zh_TW": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -16,6 +16,7 @@ exports.level = {
|
|||
"name": {
|
||||
"ko": "딱 한개의 커밋만 가져오기",
|
||||
"en_US": "Grabbing Just 1 Commit",
|
||||
"fr_FR": "Choisir seulement 1 commit",
|
||||
"de_DE": "Einen Commit pflücken",
|
||||
"es_AR": "Tomando un único commit",
|
||||
"ja": "Grabbing Just 1 Commit",
|
||||
|
@ -25,6 +26,7 @@ exports.level = {
|
|||
"hint": {
|
||||
"en_US": "Remember, interactive rebase or cherry-pick is your friend here",
|
||||
"de_DE": "Vergiss nicht: hier kommst du mit interaktivem Rebase oder Cherry-Picking weiter",
|
||||
"fr_FR": "Souvenez-vous, les rebases interractiv ou cherry-pick est votre amis ici.",
|
||||
"es_AR": "Acordate, el rebase interactivo o cherry-pick son tus amigos acá",
|
||||
"ja": "このレベルではインタラクティブモードのrebaseやcherry-pickがクリアのカギです",
|
||||
"ko": "대화식 리베이스(rebase -i)나 or 체리픽(cherry-pick)을 사용하세요",
|
||||
|
@ -71,6 +73,45 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"fr_FR": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Les commits stacké localement",
|
||||
"",
|
||||
"Voici une situation qui arrive souvent. J'ai un bug et pour trouver la source je rajoute des commande de debug à travers le code.",
|
||||
"",
|
||||
"Tous ces debug se retrouve dans une branche, je trouve le bug et le répart, comme toujours!",
|
||||
"",
|
||||
"Le seul problème c'est que je ne peux pas faire de merge ou rebase, car tous ces commits de debug seront dans le master. Il doit y avoir une meilleur façon."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Nous avons besoin de dire à Git quelle commit choisir. Simplement comme le niveau précédent -- nous pouvons utiliser les mêmes commandes:",
|
||||
"",
|
||||
"* `git rebase -i`",
|
||||
"* `git cherry-pick`",
|
||||
"",
|
||||
"Pour réussir ce niveau."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"À vous de choisir quelle commande utiliser, mais pour réussir ce niveau, assurez vous que `master` recois le même commit que `bugFix`."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"es_AR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -21,6 +21,7 @@ exports.level = {
|
|||
"ko": "커밋들 갖고 놀기",
|
||||
"en_US": "Juggling Commits",
|
||||
"de_DE": "Jonglieren mit Commits",
|
||||
"fr_FR": "Jongler avec les Commits",
|
||||
"es_AR": "Haciendo malabares con los commits",
|
||||
"ja": "Juggling Commits",
|
||||
"zh_CN": "提交变换戏法",
|
||||
|
@ -29,6 +30,7 @@ exports.level = {
|
|||
"hint": {
|
||||
"en_US": "The first command is git rebase -i HEAD~2",
|
||||
"de_DE": "Der erste Befehl ist git rebase -i HEAD~2",
|
||||
"de_DE": "La première commande est git rebase -i HEAD~2",
|
||||
"es_AR": "El primer comando es git rebase -i HEAD~2",
|
||||
"ja": "最初に打つコマンドはgit rebase -i HEAD~2",
|
||||
"ko": "첫번째 명령은 git rebase -i HEAD~2 입니다",
|
||||
|
@ -77,6 +79,47 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"fr_FR": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Jongler avec les Commits",
|
||||
"",
|
||||
"Voici une autre situation commune. Vous avez certain changement (`newImage`) et un autre groupe de changement (`caption`) qui sont relié, ils sont donc empillé un sur l'autre dans votre répertoire Git(aka un après l'autre).",
|
||||
"",
|
||||
"Là ou ca se complique c'est lorsque vous devez faire modification dans un commit antérieure. Dans ce cas, les configuration de `newImage` devrons changer un peu, même si ce commit est loin dans notre histoire!!"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Nous allons régler le problème en fesant ceci:",
|
||||
"",
|
||||
"* Nous allons réaligné les commits pour que celui que nous voulions soit sur le dessus `git rebase -i`",
|
||||
"* Nous allons faire `commit --amend` pour faire les modifications",
|
||||
"* Nous allons réaligner les commits dans l'ordre original `git rebase -i`",
|
||||
"* Finalement, nous allons déplacer le HEAD de master vers la nouvelle tête de l'arbre (avec la méthode de votre choix)",
|
||||
"",
|
||||
"Il y a plusieurs façons d'atteindre ce but (cherry-pick semble très tentant), mais nous allons parler de cherry-pick plus tard, pour le moment concentrez vous sur cette technique."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Pour terminer, Faites attentions au but -- Du au fait que nous déplacons les commmits 2 fois, ils se retrouvent les deux avec une apostrophe. une deuxième apostrophe est ajouté sur le commit que nous modifions, ce qui nous donnes l'arbre finale ",
|
||||
"",
|
||||
"Ceci étant dit, Je peux comparer le résultat avec la stuctures et les différentes apostophes. Tant que votre arbre master a la même structure et apostrophe le niveau sera considéré réussi."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"es_AR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -19,6 +19,7 @@ exports.level = {
|
|||
"name": {
|
||||
"ko": "커밋 갖고 놀기 #2",
|
||||
"en_US": "Juggling Commits #2",
|
||||
"fr_FR": "Jongler avec les commits #2",
|
||||
"es_AR": "Haciendo malabares con los commits #2",
|
||||
"de_DE": "Jonglieren mit Commits Teil 2",
|
||||
"ja": "コミットをやりくりする その2",
|
||||
|
@ -27,6 +28,7 @@ exports.level = {
|
|||
},
|
||||
"hint": {
|
||||
"en_US": "Don't forget to forward master to the updated changes!",
|
||||
"fr_FR": "N'oublier pas de forwardes la branch master dans la nouvelle branch",
|
||||
"es_AR": "¡No te olvides de avanzar master a los cambios actualizados!",
|
||||
"de_DE": "Vergiss nicht den master auf die aktuelle Version vorzuspulen",
|
||||
"ja": "masterのポインタを先に進めることを忘れずに!",
|
||||
|
@ -78,6 +80,49 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"fr_FR": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Jongler avec les commits #2",
|
||||
"",
|
||||
"*Si vous n'avez pas fait le défi Jongler avec les commits #1 (le niveau précédent), vous devriez le faire avant*",
|
||||
"",
|
||||
"Comme fait dans le niveau précédent, nous utilisons `rebase -i` pour réordonner les commits. Si le commit a modifier est celui à la tête, faite un --amend et réordonné le dans l'ordre voulu.",
|
||||
"",
|
||||
"La difficulté ici est qu'il y a beaucoup de changement, ce qui peut introduire des conflits de rebase. Essayons avec le `git cherry-pick`"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"N'oublier pas que git cherry-pick va prendre un commit de n'importe ou dans l'arbre de git et le mettre devant le HEAD. Sauf si il est l'ancètre de la branche courante.",
|
||||
"",
|
||||
"Un petit rappel:"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Maintenant, continuons"
|
||||
],
|
||||
"command": "git cherry-pick C2",
|
||||
"beforeCommand": "git checkout -b bugFix; git commit; git checkout master; git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Dans ce niveau, nous voulons modifier `C2` sans utiliser `rebase -i`. As vous maintenant de trouver comment! :D",
|
||||
"",
|
||||
"Petit rappel, le nombre exact d'apostrophe (') sur le commit n'est pas important. Par exemple, Nous allons donner les points si la structure est bonne mais qu'il y a une apostrophe de trop."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"es_AR": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
|
@ -6,10 +6,12 @@ exports.level = {
|
|||
"en_US": "Git Tags",
|
||||
"de_DE": "Git Tags",
|
||||
"es_AR": "Tags en git",
|
||||
"fr_FR": "Git Tags",
|
||||
"zh_TW": "git tag"
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "you can either check out the commit directly or simply checkout the tag!",
|
||||
"fr_FR": "Vous pouvez faire le checkout sur le commit ou sur le tag!",
|
||||
"de_DE": "Du kannst den Checkout entweder direkt auf den Commit oder das Tag machen.",
|
||||
"es_AR": "Podés checkoutear directamente el commit, ¡o simplemente el tag!",
|
||||
"zh_TW": "你可以直接 checkout 到 commit 上,或是簡單的 checkout 到 tag 上"
|
||||
|
@ -67,6 +69,58 @@ exports.level = {
|
|||
}
|
||||
]
|
||||
},
|
||||
"fr_FR": {
|
||||
"childViews": [
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"## Git Tags",
|
||||
"",
|
||||
"Comme apris dans les niveau précédent, les branches sont facile et rende le travail avec les commit plus simple. Il est facile de faire des merge sur les branches. Les branches sont donc constament en mouvement.",
|
||||
"",
|
||||
"Dans ce cas, il doit exister une façons de sauvegarder de façon permanente l'état du projet. Pour des choses comme des Release majeur, Il existe une façons plus permanente de garder l'état du code?",
|
||||
""
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"vous l'aurez deviné! Git tags offre cette fonctionnalité -- Les tags garde l'état du code et pointe vers ce commit peux importe comment l'arbre git continue d'évoluer.",
|
||||
"",
|
||||
"encore plus important, il sont définitif. Vous ne pouvez donc pas faire de commit sur un tag -- Les tags sont un peu comme un pointeur définitif dans l'arbre",
|
||||
"",
|
||||
"Voici les tags en pratique."
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Essayons de faire un tag sur C1 (qui représente la version 1 de notre prototype)"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Voila, facile non! nous nommons le tag v1 et il pointe vers C1. Si vous ne spécifié pas le commit, le HEAD sera l'endroit ou le tag pointera."
|
||||
],
|
||||
"command": "git tag v1 C1",
|
||||
"beforeCommand": "git commit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Pour ce niveau, simplement faire un tag v1 et faire un checkout dessu. Remarqué vous êtes en detached `HEAD` state -- C'est parceque vous ne pouvez pas commiter sur le tag `v1`.",
|
||||
"",
|
||||
"Dans le défils suivants vous verez des scénarios plus interessant."
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"zh_TW": {
|
||||
"childViews": [
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue