mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-06-27 08:28:50 +02:00
rephrasing and corrections of French version
This commit is contained in:
parent
b218bd4bf2
commit
b3e7c309a3
22 changed files with 64 additions and 64 deletions
|
@ -19,7 +19,7 @@ exports.level = {
|
|||
"vi": "Rẽ nhánh với Git",
|
||||
"sl_SI": "Branchanje v Gitu",
|
||||
"pl": "Rozgałęzienia w Gicie",
|
||||
'it_IT': "Creare rami in Git",
|
||||
"it_IT": "Creare rami in Git",
|
||||
"ta_IN": "கிட் கிளை நிருவாகம்"
|
||||
},
|
||||
"hint": {
|
||||
|
|
|
@ -395,7 +395,7 @@ exports.level = {
|
|||
"options": {
|
||||
"markdowns": [
|
||||
"## Commits Git",
|
||||
"Un commit dans un dépôt (repository) Git enregistre une image (snapshot) de tous les fichiers du repertoire. Comme un Copier-Coller géant, mais en bien mieux !",
|
||||
"Un commit dans un dépôt Git (repository) enregistre une image (snapshot) de tous les fichiers du répertoire. Comme un Copier-Coller géant, mais en bien mieux !",
|
||||
"",
|
||||
"Git fait en sorte que les commits soient aussi légers que possible donc il ne recopie pas tout le répertoire à chaque commit. En fait, Git n'enregistre que l'ensemble des changements (\"delta\") depuis la version précédente du dépôt. C'est pour cette raison que la plupart des commits ont un commit parent -- ainsi que nous le verrons plus tard.",
|
||||
"",
|
||||
|
|
|
@ -625,7 +625,7 @@ exports.level = {
|
|||
"Nous allons `merge` («fusionner») la branche `bugFix` dans `main`."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Youhou ! Vous avez vu ça ? Avant tout, `main` pointe donc maintenant sur un commit qui a deux parents. Si vous remontez l'enchaînement des flèches depuis `main`, vous allez passez par tous les commits jusqu'à la racine. Cela signifie que `main` contient maintenant tout le travail du dépôt.",
|
||||
"Youhou ! Vous avez vu ça ? Pour commencer, `main` pointe maintenant sur un commit qui a deux parents. Si vous remontez l'enchaînement des flèches depuis `main`, vous allez passez par tous les commits jusqu'à la racine. Cela signifie que `main` contient maintenant tout le travail du dépôt.",
|
||||
"",
|
||||
"Par ailleurs, avez-vous remarqué les nouvelles couleurs des commits ? Pour faciliter l'apprentissage, j'ai inclus une certaine logique dans la coloration. Chaque branche a une unique couleur. Chaque commit est de la couleur de toutes les branches qui le contiennent.",
|
||||
"",
|
||||
|
|
|
@ -100,11 +100,11 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Les commits empilés localement",
|
||||
"",
|
||||
"Voici une situation qui arrive souvent : j'ai un bug assez caché à corriger. Pour trouver la source je rajoute des commandes et prints de debug à travers le code.",
|
||||
"Voici une situation qui arrive souvent : j'ai un bug assez difficile à trouver et corriger. Pour localiser la source du problème je rajoute des commandes et prints de debug à travers le code.",
|
||||
"",
|
||||
"Tous ces debug se retrouvent dans une branche particulière. Je trouve le bug et le répare, 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 main. Il doit y avoir une autre façon..."
|
||||
"Le problème c'est que je ne peux pas faire de merge ou rebase, car tous ces commits de debug seront dans le main. Il doit y avoir une autre façon..."
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -101,7 +101,7 @@ exports.level = {
|
|||
"",
|
||||
"Voici une autre situation fréquente. Vous avez certains changements (`newImage`) et un autre groupe de changements (`caption`) qui sont reliés, ils sont donc empilés l'un sur l'autre dans votre dépôt Git (i.e. l'un après l'autre).",
|
||||
"",
|
||||
"Là où ça se complique c'est lorsque vous devez faire une petite modification dans un commit antérieur. Dans ce cas, les configurations de `newImage` devront changer un peu, même si ce commit est loin dans notre historique !!"
|
||||
"La situation se complique lorsque vous devez faire une petite modification dans un commit antérieur. Dans ce cas, les configurations de `newImage` devront changer un peu, même si ce commit est loin dans notre historique !!"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -114,13 +114,13 @@ exports.level = {
|
|||
"* Nous allons réordonner les commits pour que celui que nous voulions changer soit sur le dessus `git rebase -i`",
|
||||
"* Nous allons utiliser `git commit --amend` pour faire les petites modifications",
|
||||
"* Nous allons réordonner les commits dans l'ordre original avec `git rebase -i`",
|
||||
"* Finalement, nous allons déplacer main vers la nouvelle tête de l'arbre (avec la méthode de votre choix)",
|
||||
"* Pour finir, nous allons déplacer main 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.",
|
||||
"",
|
||||
"Pour terminer, Faites attention au but -- dû au fait que nous déplaçons les commits 2 fois, ils se retrouvent tous les deux avec une apostrophe. Une deuxième apostrophe est ajoutée sur le commit que nous modifions, ce qui nous donne la forme finale de l'arbre.",
|
||||
"Pour terminer, Faites attention à l'objectif -- puisque nous déplaçons les commits 2 fois, ils se retrouvent tous les deux avec une apostrophe. Une deuxième apostrophe est ajoutée sur le commit que nous modifions, ce qui nous donne la forme finale de l'arbre.",
|
||||
"",
|
||||
"Ceci étant dit, je peux comparer le résultat avec la structure et les différentes apostrophes. Tant que votre arbre `main` a la même structure et les différentes apostrophes le niveau sera considéré réussi."
|
||||
"Ceci étant dit, je peux comparer le résultat avec la structure et les différentes apostrophes. Tant que votre arbre `main` a la même structure et les différentes apostrophes le niveau sera considéré comme réussi."
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -140,7 +140,7 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Pour ce niveau, créez simplement les tags visibles dans les objectifs puis faites un checkout sur le tag `v1`. Remarquez comment vous vous retrouvez dans l'état `HEAD` détachée -- c'est parce que vous ne pouvez pas commiter sur le tag `v1`.",
|
||||
"Pour ce niveau, créez simplement les tags visibles dans les objectifs puis faites un checkout sur le tag `v1`. Remarquez le passage à l'état `HEAD` détachée -- c'est parce que vous ne pouvez pas commiter sur le tag `v1`.",
|
||||
"",
|
||||
"Dans les niveaux suivants vous verrez un cas plus intéressant d'utilisation des tags."
|
||||
]
|
||||
|
|
|
@ -113,7 +113,7 @@ exports.level = {
|
|||
"",
|
||||
"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ôts Git et satisfaire les principaux besoins des développeurs.",
|
||||
"",
|
||||
"Les 10% restants, cependant, peuvent être assez utiles pour les 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 pour les développeurs de dire \"Je veux ce travail ici et cet autre là.\".",
|
||||
"Les 10% restants, cependant, peuvent être assez utiles pour les systèmes assez complexes (ou quand vous vous êtes mis tout seul dans le pétrin). Le prochain concept que nous allons aborder est \"déplacer son travail\" (moving work around) -- en d'autres termes, c'est une façon pour les développeurs de dire \"Je veux ce travail ici et cet autre là.\".",
|
||||
"",
|
||||
"Cela peut sembler compliqué, mais c'est un concept simple."
|
||||
]
|
||||
|
@ -125,7 +125,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Git Cherry-pick",
|
||||
"",
|
||||
"La première commande de cette série est `git cherry-pick`. Elle a le prototype suivant :",
|
||||
"La première commande de cette série est `git cherry-pick`. Elle s'utilise ainsi :",
|
||||
"",
|
||||
"* `git cherry-pick <Commit1> <Commit2> <...>`",
|
||||
"",
|
||||
|
@ -143,7 +143,7 @@ exports.level = {
|
|||
"Ici le dépôt que nous avons contient du travail dans la branche `side`, que nous voulons copier dans `main`. 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 !"
|
||||
"Voilà ! Nous voulions les commits `C2` et `C4` et Git les a fait apparaître juste sous nos pieds. Aussi simple que ça !"
|
||||
],
|
||||
"command": "git cherry-pick C2 C4",
|
||||
"beforeCommand": "git checkout -b side; git commit; git commit; git commit; git checkout main; git commit;"
|
||||
|
|
|
@ -518,9 +518,9 @@ exports.level = {
|
|||
"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.",
|
||||
"Avant que nous ne 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 !",
|
||||
"Une fois à l'aise avec ces déplacements, votre puissance avec les autres commandes de Git en sera amplifiée !",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
|
@ -550,7 +550,7 @@ exports.level = {
|
|||
"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 `main` tout le long."
|
||||
"Vous voyez ! HEAD était caché en-dessous de la branche `main` tout le long."
|
||||
],
|
||||
"command": "git checkout C1; git checkout main; git commit; git checkout C2",
|
||||
"beforeCommand": ""
|
||||
|
|
|
@ -67,7 +67,7 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"All interactive rebase means is using the `rebase` command with the `-i` option.",
|
||||
"All interactive rebase means Git is using the `rebase` command with the `-i` option.",
|
||||
"",
|
||||
"If you include this option, git will open up a UI to show you which commits are about to be copied below the target of the rebase. It also shows their commit hashes and messages, which is great for getting a bearing on what's what.",
|
||||
"",
|
||||
|
@ -125,7 +125,7 @@ exports.level = {
|
|||
"",
|
||||
"Git cherry-pick est pratique quand vous savez exactement quels commits vous voulez (_et_ que vous connaissez leurs identifiants) -- il est difficile de battre sa simplicité.",
|
||||
"",
|
||||
"Mais que faire quand vous ne connaissez pas les identifiants des commits ? Heureusement Git a pensé à vous 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.",
|
||||
"Mais que faire quand vous ne connaissez pas les identifiants des commits ? Heureusement Git a pensé à vous pour ce cas-là ! Nous pouvons utiliser un rebase interactif pour cela -- c'est la meilleure façon de réexaminer une série de commits que vous vous apprêtez à rebaser.",
|
||||
"",
|
||||
"Entrons un peu plus dans les détails..."
|
||||
]
|
||||
|
@ -137,7 +137,7 @@ exports.level = {
|
|||
"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.",
|
||||
"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."
|
||||
]
|
||||
|
@ -147,7 +147,7 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Quand le rebase interactif s'ouvre, vous avez la possibilité de faire 3 choses :",
|
||||
"Quand le rebase interactif s'ouvre, vous avez trois possibilités :",
|
||||
"",
|
||||
"* 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 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.",
|
||||
|
|
|
@ -125,7 +125,7 @@ exports.level = {
|
|||
"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.",
|
||||
"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, et vous devrez donc 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...",
|
||||
"",
|
||||
|
@ -139,9 +139,9 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"Comme je l'ai dit, spécifier un commit par son identifiant n'est pas très pratique, c'est pourquoi Git a des références relatives. Elles sont géniales !",
|
||||
"",
|
||||
"Avec les références relatives vous pouvez commencer par vous placer à un endroit mémorisable (comme la branche `bugFix` ou `HEAD`) et travailler depuis ici.",
|
||||
"Avec les références relatives vous pouvez commencer par vous placer à un endroit mémorisable (comme la branche `bugFix` ou `HEAD`) et travailler depuis cet endroit.",
|
||||
"",
|
||||
"Les commits relatifs sont puissants, et on va en introduire deux simples ici :",
|
||||
"Les commits relatifs sont puissants, et on va en présenter deux simples ici :",
|
||||
"",
|
||||
"* Revenir d'un commit en arrière avec `^`",
|
||||
"* Revenir de plusieurs en arrière avec `~<num>`"
|
||||
|
@ -161,7 +161,7 @@ exports.level = {
|
|||
"Faisons un checkout du commit avant main."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Boum ! Fini. Bien plus facile qu'écrire l'identifiant du commit."
|
||||
"Boum ! Fini. Bien plus facile que d'écrire l'identifiant du commit."
|
||||
],
|
||||
"command": "git checkout main^",
|
||||
"beforeCommand": "git commit"
|
||||
|
|
|
@ -465,7 +465,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"### L'opérateur \"~\"",
|
||||
"",
|
||||
"Disons que vous souhaitez remonter beaucoup de niveaux dans l'arbre des commits. Cela peut être ennuyeux d'utiliser `^` plusieurs fois, ainsi Git a aussi l'opérateur tilde (~).",
|
||||
"Imaginons que vous souhaitiez remonter beaucoup de niveaux dans l'arbre des commits. Cela peut être ennuyeux d'utiliser `^` plusieurs fois, c'est pourquoi 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."
|
||||
|
@ -493,7 +493,7 @@ exports.level = {
|
|||
"",
|
||||
"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 :",
|
||||
"L'une des principales raisons pour lesquelles j'utilise les références relatives est qu'elles permettent de réorganiser les branches. Vous pouvez directement réassigner les branches à un commit avec l'option `-f`. Ainsi la commande suivante :",
|
||||
"",
|
||||
"`git branch -f main HEAD~3`",
|
||||
"",
|
||||
|
|
|
@ -556,9 +556,9 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Annuler des changements avec Git",
|
||||
"",
|
||||
"Il y a de nombreuses façons d'annuler des changements avec Git. De même que pour les commits, annuler des changements avec Git est à 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 de nombreuses façons d'annuler des changements avec Git. De même que pour les commits, annuler des changements avec Git est à 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 d'entre elles.",
|
||||
""
|
||||
]
|
||||
}
|
||||
|
@ -569,7 +569,7 @@ exports.level = {
|
|||
"beforeMarkdowns": [
|
||||
"## Git Reset",
|
||||
"",
|
||||
"`git reset` annule des changements en déplaçant la référence en arrière dans le temps sur un commit plus ancien. En ce sens, on peut considérer cela comme une façon de \"réécrire l'histoire\"; `git reset` fait remonter une branche en arrière comme si le(s) commit(s) n'avait jamais eu lieu.",
|
||||
"`git reset` annule des changements en déplaçant la référence en arrière dans le temps sur un commit plus ancien. En ce sens, on peut considérer cela comme une façon de \"réécrire l'histoire\"; `git reset` fait remonter une branche en arrière comme si le(s) commit(s) n'avai(en)t jamais eu lieu.",
|
||||
"",
|
||||
"Regardons à quoi cela ressemble :"
|
||||
],
|
||||
|
|
|
@ -147,9 +147,9 @@ exports.level = {
|
|||
"",
|
||||
"Dis-donc, nous avons beaucoup de branches par ici ! Rebasons tout le travail de ces branches dans main.",
|
||||
"",
|
||||
"Les patrons rendent cela encore plus compliqué -- ils veulent que les commits soient faits de manière séquentielle. Cela signifie donc que dans votre arbre final `C7'` est tout en bas, `C6'` juste au-dessus, et ainsi de suite, tout dans cet ordre.",
|
||||
"Les patrons rendent cela encore plus compliqué -- ils veulent que les commits soient faits de manière séquentielle. Cela signifie donc que dans votre arbre final `C7'` est tout en bas, `C6'` juste au-dessus, et ainsi de suite, dans cet ordre.",
|
||||
"",
|
||||
"Si vous faites une erreur en chemin, n'hésitez pas à utiliser `reset` pour recommencer. Pensez à comparer votre solution à la notre et voyez si vous pouvez le faire en moins de commandes !"
|
||||
"Si vous faites une erreur en cours de route, n'hésitez pas à utiliser `reset` pour recommencer. Pensez à comparer votre solution à la nôtre et voyez si vous pouvez le faire en moins de commandes !"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ exports.level = {
|
|||
},
|
||||
"hint": {
|
||||
"en_US": "Make sure to do everything in the proper order! Branch one first, then two, then three",
|
||||
"fr_FR": "Faites attention à tout faire dans le bon ordre ! La branche one d'abord, puis la seconde, puis la troisième",
|
||||
"fr_FR": "Faites attention à tout faire dans le bon ordre ! La première branche d'abord, puis la seconde, puis la troisième",
|
||||
"de_DE": "Stelle sicher, dass du alles in der richtigen Reihenfolge machst! Branche erst one, dann two, dann three.",
|
||||
"es_AR": "¡Asegurate de hacer las cosas en el orden correcto! Brancheá `one` primero, después `two`, y después `three`.",
|
||||
"es_ES": "¡Asegúrate de hacer las cosas en el orden correcto! Crea primero la rama `one`, después `two`, y después `three`.",
|
||||
|
@ -75,7 +75,7 @@ exports.level = {
|
|||
"",
|
||||
"WOAHHHhhh ! Nous avons pas mal d'objectifs dans ce niveau.",
|
||||
"",
|
||||
"Actuellement nous avons `main` qui se situe quelques commits devant les branches `one` `two` et `three`. Pour une raison quelconque, nous avons besoin de mettre ces trois branches à jour avec les modifications des derniers commits sur main.",
|
||||
"Actuellement nous avons `main` qui se situe quelques commits en avance par rapport aux branches `one` `two` et `three`. Pour une raison quelconque, nous avons besoin de mettre ces trois branches à jour avec les modifications des derniers commits sur main.",
|
||||
"",
|
||||
"La branche `one` a besoin d'une réorganisation et de la suppression de `C5`. `two` doit simplement être réordonnée, et `three` ne nécessite qu'un commit !",
|
||||
"",
|
||||
|
|
|
@ -109,11 +109,11 @@ exports.level = {
|
|||
"",
|
||||
"Cela dit, les branches distantes ont plusieurs propriétés puissantes :",
|
||||
"",
|
||||
"- Avant toute chose, le dépôt distant sert de sauvegarde ! Le dépôt local de Git a la capacité de restaurer des fichiers à un état précédent (comme vous le savez), mais toutes les informations sont stockées localement. En ayant des copies de votre dépôt Git sur d'autres ordinateurs, vous pouvez perdre vos données et toujours repartir de là où vous en étiez resté.",
|
||||
"- Tout d'abord, le dépôt distant sert de sauvegarde ! Le dépôt local de Git a la capacité de restaurer des fichiers à un état précédent (comme vous le savez), mais toutes les informations sont stockées localement. En ayant des copies de votre dépôt Git sur d'autres ordinateurs, vous pouvez perdre vos données et toujours repartir de là où vous en étiez resté.",
|
||||
"",
|
||||
"- Plus important encore, les dépôts distants sociabilisent le projet ! Maintenant qu'il est hébergé quelque part ailleurs, vos amis peuvent y contribuer facilement (ou récupérer vos derniers changements).",
|
||||
"",
|
||||
"Il est devenu courant de visualiser l'activité sur dépôt distant via des sites internet (comme [GitHub](https://github.com/)), mais les dépôts distants servent _toujours_ de colonne vertébrale à ce système. C'est donc important de les comprendre !"
|
||||
"Il est devenu courant de visualiser l'activité sur dépôt distant via des sites internet (comme [GitHub](https://github.com/)), mais les dépôts distants servent _toujours_ de colonne vertébrale à ce système. Il est donc important de les comprendre !"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -123,9 +123,9 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Les commandes pour créer des dépôts distants",
|
||||
"",
|
||||
"Jusqu'à maintenant, Learn Git Branching s'est surtout concentré sur l'apprentissage des bases du travail sur un dépôt _local_ (branch, merge, rebase, etc). Cependant maintenant nous voulons savoir comment travailler sur les dépôts distants, nous avons besoin d'une commande pour l'environnement de ces leçons. `git clone` sera cette commande.",
|
||||
"Jusqu'à maintenant, Learn Git Branching s'est surtout concentré sur l'apprentissage des bases du travail sur un dépôt _local_ (branch, merge, rebase, etc). Cependant maintenant que nous voulons savoir comment travailler sur les dépôts distants, nous avons besoin d'une commande pour l'environnement de ces leçons. `git clone` sera cette commande.",
|
||||
"",
|
||||
"Techniquement, `git clone` dans le monde réel sera la commande que vous utiliserez pour créer des copies _locales_ des dépôts distants (de github par exemple). Nous utilisons cette commande un peu différemment dans Learn Git Branching car `git clone` crée ici un dépôt distant à partir de votre dépôt local. Il est certain qu'il s'agit donc du sens opposé de la commande originale, mais cela aide à construire la connexion entre le clonage et le travail sur le dépôt distant, travaillons donc avec cela pour l'instant.",
|
||||
"Techniquement, `git clone` dans le monde réel sera la commande que vous utiliserez pour créer des copies _locales_ des dépôts distants (de github par exemple). Nous utilisons cette commande un peu différemment dans Learn Git Branching car `git clone` crée ici un dépôt distant à partir de votre dépôt local. Il est vrai qu'il s'agit donc du sens opposé de la commande originale, mais cela aide à construire la connexion entre le clonage et le travail sur le dépôt distant, travaillons donc avec cela pour l'instant.",
|
||||
""
|
||||
]
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ exports.level = {
|
|||
""
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Nous y sommes ! Maintenant nous avons un dépôt distant de notre projet. Cela ressemble fortement à d'habitude, en dehors de quelques changements pour rendre compte des différences -- dans les niveaux suivants vous allez voir comment partager le travail entre ces dépôts."
|
||||
"Nous y sommes ! Maintenant nous avons un dépôt distant de notre projet. Cela ressemble fortement à ce que nous avons d'habitude, en dehors de quelques changements pour rendre compte des différences -- dans les niveaux suivants vous allez voir comment partager le travail entre ces dépôts."
|
||||
],
|
||||
"command": "git clone",
|
||||
"beforeCommand": ""
|
||||
|
|
|
@ -22,8 +22,8 @@ exports.level = {
|
|||
"it_IT": "Simulare il lavoro di squadra"
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "remember you can specify the number of commits to fake",
|
||||
"fr_FR": "rappelez-vous que vous pouvez spécifier le nombre de commits à simuler",
|
||||
"en_US": "Remember you can specify the number of commits to fake",
|
||||
"fr_FR": "Rappelez-vous que vous pouvez spécifier le nombre de commits à simuler",
|
||||
"de_DE": "Nicht vergessen, du kannst angeben wie viele Commits simuliert werden sollen.",
|
||||
"ja": "擬似的に作成するコミット数を指定できるのをお忘れなく",
|
||||
"es_AR": "Acordate que podés especificar cuántos commits simular",
|
||||
|
@ -105,7 +105,7 @@ exports.level = {
|
|||
"",
|
||||
"C'est là que cela devient compliqué : pour certaines des leçons à venir, nous avons besoin de vous enseigner comment récupérer les changements effectués sur le dépôt distant.",
|
||||
"",
|
||||
"Cela signifie que nous devons \"prétendre\" que le dépôt distant a été modifié par un collègue / ami / collaborateur, et parfois même sur une branche spécifique ou avec plusieurs commits.",
|
||||
"Cela signifie que nous devons faire semblant que le dépôt distant a été modifié par un collègue / ami / collaborateur, et parfois même sur une branche spécifique ou avec plusieurs commits.",
|
||||
"",
|
||||
"Pour faire cela, nous introduisons à point nommé la commande `git fakeTeamwork` ! Elle devrait vous paraître assez intuitive, voyons une démo..."
|
||||
]
|
||||
|
@ -141,7 +141,7 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Les niveaux suivants vont devenir assez difficiles, donc nous augmentons un peu la difficulté de cet exercice.",
|
||||
"Les niveaux suivants vont devenir assez difficiles, nous augmentons donc un peu la difficulté de cet exercice.",
|
||||
"",
|
||||
"Vous devrez créer un dépôt distant (avec `git clone`), simuler quelques changements sur ce dépôt, commiter les vôtres, et enfin appliquer les changements distants dans votre dépôt local (pull). C'est presque plusieurs leçons en une !"
|
||||
]
|
||||
|
|
|
@ -122,7 +122,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Git Fetch",
|
||||
"",
|
||||
"Travailler avec les dépôts Git distants se résume en pratique à transférer nos données _depuis_ et _vers_ ces autres dépôts. Du moment que nous pouvons envoyer des commits en avance et en retard, nous pouvons partager tous les types de mises à jour qui sont gérés par Git (et donc partager notre travail, de nouveaux fichiers, de nouvelles idées, des lettres d'amour, etc.).",
|
||||
"Travailler avec les dépôts Git distants se résume en pratique à transférer nos données _depuis_ et _vers_ ces autres dépôts. Etant donné que nous pouvons envoyer des commits en avance et en retard, nous pouvons partager tous les types de mises à jour qui sont gérés par Git (et donc partager notre travail, de nouveaux fichiers, de nouvelles idées, des lettres d'amour, etc.).",
|
||||
"",
|
||||
"Dans cette leçon nous allons apprendre comment rapporter (fetch) des données _depuis_ un dépôt distant vers le nôtre : la commande pour cela est astucieusement dénommée `git fetch`.",
|
||||
"",
|
||||
|
@ -156,7 +156,7 @@ exports.level = {
|
|||
"",
|
||||
"`git fetch` prend en fait notre représentation _locale_ du dépôt distant pour la synchroniser avec ce à quoi le dépôt distant ressemble _réellement_ (à ce moment-là).",
|
||||
"",
|
||||
"Si vous vous rappelez de la précédente leçon, nous avons dit que les branches distantes reflètent l'état du dépôt distant _depuis_ la dernière fois où vous avez parlé à ces branches distantes. `git fetch` est le moyen de parler à ces branches distantes ! La relation entre `git fetch` et les branches distantes devrait vous apparaître clairement maintenant.",
|
||||
"Si vous vous rappelez de la précédente leçon, nous avons dit que les branches distantes reflètent l'état du dépôt distant _depuis_ la dernière fois où vous avez parlé à ces branches distantes. `git fetch` est le moyen de parler à ces branches distantes ! La relation entre `git fetch` et les branches distantes devrait vous sembler claire maintenant.",
|
||||
"",
|
||||
"`git fetch` contacte le dépôt distant par Internet (via un protocole comme `http://` ou `git://`).",
|
||||
""
|
||||
|
@ -171,9 +171,9 @@ exports.level = {
|
|||
"",
|
||||
"`git fetch`, cependant, ne change rien à _votre_ état local. Il ne met pas à jour votre branche `main` et ne va pas changer quelque chose aux fichiers qui se trouvent actuellement dans votre répertoire de travail.",
|
||||
"",
|
||||
"C'est important à comprendre car un nombre important de développeurs pensent qu'exécuter `git fetch` va mettre leur dépôt local dans le même état que le distant. Cela peut télécharger toutes les données nécessaires pour faire cela, mais cela ne change en réalité _rien_ sur vos fichiers locaux. Les prochains niveaux seront justement dédiés aux commandes qui permettent de faire cela :D",
|
||||
"C'est important à comprendre car beaucoup de développeurs pensent qu'exécuter `git fetch` va mettre leur dépôt local dans le même état que le distant. Cela peut télécharger toutes les données nécessaires pour le faire, mais cela ne change en réalité _rien_ sur vos fichiers locaux. Les prochains niveaux seront justement dédiés aux commandes qui permettent de le faire :D",
|
||||
"",
|
||||
"Au bout du compte, vous pouvez vous représenter `git fetch` comme une étape de téléchargement."
|
||||
"Finalement, vous pouvez vous représenter `git fetch` comme une étape de téléchargement."
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -23,7 +23,7 @@ exports.level = {
|
|||
},
|
||||
"hint": {
|
||||
"en_US": "Pay attention how the commit ids may have swapped! You can read slides again with \"help level\"",
|
||||
"fr_FR": "Faites attention à la façon dont les ids des commits ont été intervertis ! Vous pouvez lire une nouvelle fois les slides avec \"help level\"",
|
||||
"fr_FR": "Faites attention à la façon dont les ids des commits ont été intervertis ! Vous pouvez relire les slides avec \"help level\"",
|
||||
"zh_CN": "注意下提交对象的 id 是如何交换的! 你可以通过 `help level` 重新阅读本关卡的所有对话框!",
|
||||
"zh_TW": "注意 commit 的 id 是怎麼被交換的!你可以透過 `help level` 來閱讀對話視窗!",
|
||||
"es_AR": "¡Prestá atención a cómo podrían haberse invertido los ids de los commits! Podés volver a leer toda la lección usando \"help level\"",
|
||||
|
@ -215,7 +215,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"Vous vous posez peut-être la question : pourquoi Git a-t-il fait apparaître ces commits dans la branche distante `o/foo` plutôt que les placer directement dans ma branche locale `foo` ? Je croyais que le paramètre `<place>` était un emplacement qui existait à la fois localement et sur le dépôt distant ?",
|
||||
"",
|
||||
"En fait Git fait une exception dans ce cas parce que vous pourriez avoir du travail en cours dans la branche `foo` que vous ne voulez pas écraser !! Cela provient de ce que nous avions vu dans la leçon précédente sur `git fetch` : cette commande ne met pas à jour vos branches locales, elle télécharge uniquement les commits (pour que vous puissiez les inspecter et/ou les fusionner plus tard).",
|
||||
"En fait Git fait une exception dans ce cas parce que vous pourriez avoir du travail en cours dans la branche `foo` que vous ne voulez pas écraser !! Cela vient de ce que nous avions vu dans la leçon précédente sur `git fetch` : cette commande ne met pas à jour vos branches locales, elle télécharge uniquement les commits (pour que vous puissiez les inspecter et/ou les fusionner plus tard).",
|
||||
""
|
||||
]
|
||||
}
|
||||
|
@ -226,11 +226,11 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"\"Bon, mais dans ce cas, que se passe-t-il si je spécifie explicitement la source et la destination avec `<source>:<destination>` ?\"",
|
||||
"",
|
||||
"Si vous vous sentez assez déterminé pour rapatrier (fetch) des commits *directement* dans votre branche locale, alors oui vous pouvez préciser cela avec la notation refspec. Vous ne pouvez cependant pas rapatrier les commits dans la branche courante.",
|
||||
"Si vous êtes déterminé à rapatrier (fetch) des commits *directement* dans votre branche locale, alors oui vous pouvez préciser cela avec la notation refspec. Vous ne pouvez cependant pas rapatrier les commits dans la branche courante.",
|
||||
"",
|
||||
"Il y a un petit piège cependant : dans ce cas précis `<source>` est l'emplacement sur le dépôt *distant* et `<destination>` l'emplacement sur le dépôt *local* où seront placés ces commits. C'est l'exact opposé de git push, et cela se tient puisque nous transférons des données dans le sens opposé !",
|
||||
"",
|
||||
"Cela dit, les développeurs utilisent rarement cette syntaxe en pratique. Je l'introduis principalement pour concrétiser le fait que `fetch` et `push` sont très similaires, fonctionnant simplement dans des sens opposées."
|
||||
"Cela dit, les développeurs utilisent rarement cette syntaxe en pratique. Je l'introduis principalement pour concrétiser le fait que `fetch` et `push` sont très similaires, fonctionnant simplement dans des sens opposés."
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -238,7 +238,7 @@ exports.level = {
|
|||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Voyons ce délire en action :"
|
||||
"Voyons ce phénomène en action :"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Wow ! Vous voyez, Git a résolu `foo~1` comme un emplacement sur origin et a ensuite téléchargé les commits dans `bar` (qui était une branche locale). Remarquez aussi que `foo` et `o/foo` n'ont pas été mises à jour puisque nous avons spécifié une destination."
|
||||
|
@ -254,7 +254,7 @@ exports.level = {
|
|||
"Que se passe-t-il si l'emplacement n'existe pas avant que j'exécute la commande ? Voyons cela dans ce dernier slide, en nous mettant dans la situation où `bar` n'existe pas encore."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Vous voyez, c'est COMME un git push. Git a créé la destination localement avant le fetch, exactement comme avec push il crée au préalable la destination sur le dépôt distant (si elle n'existe pas)."
|
||||
"Vous voyez, c'est COMME un git push. Git a créé la destination localement avant le fetch, exactement comme il fait avec push en créant au préalable la destination sur le dépôt distant (si elle n'existe pas)."
|
||||
],
|
||||
"command": "git fetch origin foo~1:bar",
|
||||
"beforeCommand": "git branch foo; git clone; git fakeTeamwork foo 2"
|
||||
|
@ -269,7 +269,7 @@ exports.level = {
|
|||
"Si `git fetch` ne reçoit pas d'arguments, cela télécharge simplement tous les commits du dépôt distant au sein de toutes les branches distantes..."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Assez simple, mais ce n'était pas inutile de voir en action."
|
||||
"Assez simple, mais ce n'était pas inutile de le voir en action."
|
||||
],
|
||||
"command": "git fetch",
|
||||
"beforeCommand": "git branch foo; git clone; git fakeTeamwork foo; git fakeTeamwork main"
|
||||
|
|
|
@ -5,7 +5,7 @@ exports.level = {
|
|||
"name": {
|
||||
"en_US": "Diverged History",
|
||||
"zh_CN": "偏离的提交历史",
|
||||
"zh_TW": "diverged history",
|
||||
"zh_TW": "Diverged history",
|
||||
"es_AR": "Historia divergente",
|
||||
"es_ES": "Historia divergente",
|
||||
"pt_BR": "Histórico divergente",
|
||||
|
@ -22,7 +22,7 @@ exports.level = {
|
|||
"it_IT": "Storico divergente"
|
||||
},
|
||||
"hint": {
|
||||
"en_US": "check out the ordering from the goal visualization",
|
||||
"en_US": "Check out the ordering from the goal visualization",
|
||||
"zh_CN": "按照目标中的提交树的顺序进行检出",
|
||||
"zh_TW": "確認視覺化的目標中的順序",
|
||||
"es_AR": "Prestá atención al orden del objetivo",
|
||||
|
@ -31,7 +31,7 @@ exports.level = {
|
|||
"gl": "Presta atención ó orixe do obxectivo",
|
||||
"de_DE": "Beachte die Reihenfolge in der Zieldarstellung",
|
||||
"ja": "ゴールのツリーの順番を参考にすること",
|
||||
"fr_FR": "regardez l'ordre dans la fenêtre de visualisation d'objectif",
|
||||
"fr_FR": "Regardez l'ordre dans la fenêtre de visualisation d'objectif",
|
||||
"ru_RU": "проверьте сортировку в визуализации цели",
|
||||
"uk": "перевірте порядок в візуалізації цілі",
|
||||
"ko": "순서는 goal을 참고하세요",
|
||||
|
@ -192,9 +192,9 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Travail divergent",
|
||||
"",
|
||||
"Jusqu'à présent nous avons vu comment rapatrier (`pull`) les commits de nos collaborateurs et comment envoyer les nôtres (`push`). Cela a l'air simple, alors comment certains peuvent trouver le sujet aussi confus ?",
|
||||
"Jusqu'à présent nous avons vu comment rapatrier (`pull`) les commits de nos collaborateurs et comment envoyer les nôtres (`push`). Cela a l'air simple, alors comment se fait-il que certains puissent trouver le sujet aussi confus ?",
|
||||
"",
|
||||
"La difficulté arrive quand l'historique du dépôt *diverge*. Avant d'aborder les détails de cette situation, voyons un exemple...",
|
||||
"La difficulté apparaît lorsque l'historique du dépôt *diverge*. Avant d'aborder les détails de cette situation, voyons un exemple...",
|
||||
""
|
||||
]
|
||||
}
|
||||
|
@ -218,7 +218,7 @@ exports.level = {
|
|||
"Assez parlé ! Observons cette situation en action :"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Vous voyez ? Rien ne s'est produit car la commande a échoué. `git push` a échoué car votre plus récent commit `C3` est basé sur le dépôt distant sur `C1`. Le dépôt distant a depuis été mis à jour avec `C2`, donc Git rejette votre push."
|
||||
"Vous voyez ? Rien ne s'est produit car la commande a échoué. `git push` a échoué car votre commit le plus récent `C3` est basé sur `C1` sur le dépôt distant. Le dépôt distant a été mis à jour depuis avec `C2`, donc Git rejette votre push."
|
||||
],
|
||||
"command": "git push",
|
||||
"beforeCommand": "git clone; git fakeTeamwork; git commit"
|
||||
|
@ -304,7 +304,7 @@ exports.level = {
|
|||
"Et maintenant avec un `pull` normal :"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"À nouveau, c'est exactement la même chose qu'auparavant !"
|
||||
"Encore une fois, c'est exactement la même chose qu'auparavant !"
|
||||
],
|
||||
"command": "git pull; git push",
|
||||
"beforeCommand": "git clone; git fakeTeamwork; git commit"
|
||||
|
|
|
@ -118,7 +118,7 @@ exports.level = {
|
|||
"",
|
||||
"Par exemple, le commit `C1` peut être rebasé *après* `C3`. Cela fait croire que le travail de `C1'` est arrivé après `C3` alors qu'en réalité il était achevé et commité avant.",
|
||||
"",
|
||||
"Certains développeurs aiment préserver l'historique et préfèrent donc merge. Les autres (comme moi) préfèrent avoir un arbre des commits propre et préfèrent rebase. C'est une question de goût :D"
|
||||
"Certains développeurs aiment préserver l'historique et préfèrent donc merge. Les autres (comme moi) préfèrent avoir un arbre des commits propre et préfèrent rebase. C'est une question de goûts :D"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -159,7 +159,7 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Pour finir ce niveau, faîtes un commit en dehors de `main` puis un après vous être rendu dans `o/main`. Cela va nous aider à comprendre la différence de comportement des branches distantes, et le fait qu'elles se mettent à jour uniquement pour refléter l'état du dépôt distant."
|
||||
"Pour finir ce niveau, faites un commit en dehors de `main` puis un après vous être rendu dans `o/main`. Cela va nous aider à comprendre la différence de comportement des branches distantes, et le fait qu'elles se mettent à jour uniquement pour refléter l'état du dépôt distant."
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -167,7 +167,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"### Le suivi des branches distantes",
|
||||
"",
|
||||
"Dans les dernières leçons, Git savait que la branche `main` était reliée à `o/main`, et cela a pu vous paraître \"magique\". Il est certain que ces deux branches ont des noms similaires et il peut être logique de croire que la branche locale `main` est liée à la branche distante `main`, mais la relation n'est prouvée que dans deux scénarios :",
|
||||
"Dans les dernières leçons, Git savait que la branche `main` était reliée à `o/main`, et cela a pu vous paraître \"magique\". Il est certain que ces deux branches ont des noms similaires et il peut être logique de croire que la branche locale `main` est liée à la branche distante `main`, mais la relation n'est avérée que dans deux scénarios :",
|
||||
"",
|
||||
"* Pendant un pull, les commits sont téléchargés dans `o/main` et ensuite *fusionnés* (merge) dans la branche `main`. La cible impliquée dans cette fusion est déterminée par cette relation.",
|
||||
"* Pendant un push, le travail de la branche `main` a été envoyé sur la branche distante `main` (qui est localement représentée par `o/main`). La *destination* du push est déterminée par la relation entre `main` and `o/main`.",
|
||||
|
@ -247,7 +247,7 @@ exports.level = {
|
|||
"",
|
||||
"`git branch -u o/main foo`",
|
||||
"",
|
||||
"Ce qui va configurer la branche `foo` (déjà existante) pour suivre `o/main`. Si `foo` est la branche courante, vous pouvez même ne pas la préciser :",
|
||||
"Ce qui va configurer la branche `foo` (déjà existante) en la faisant suivre `o/main`. Si `foo` est la branche courante, vous pouvez même ne pas la préciser :",
|
||||
"",
|
||||
"`git branch -u o/main`",
|
||||
""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue