mirror of
https://github.com/pcottle/learnGitBranching.git
synced 2025-08-29 06:18:24 +02:00
commit
ebfad44042
7 changed files with 28 additions and 28 deletions
|
@ -105,7 +105,7 @@ 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 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.",
|
||||
""
|
||||
|
|
|
@ -85,9 +85,9 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Simuler la collaboration",
|
||||
"",
|
||||
"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.",
|
||||
"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 \"pretendre\" que le dépôt distant a été modifié par un collègue / ami / collaborateur, à quelque moment sur une branche spécifique ou sur un certain nombre de commits.",
|
||||
"Cela signifie que nous devons \"prétendre\" que le dépôt distant a été modifié par un collègue / ami / collaborateur, à quelque moment sur une branche spécifique ou sur un certain nombre de commits.",
|
||||
"",
|
||||
"Pour faire cela, nous introduisons à point nommé la commande `git fakeTeamwork` ! Elle est assez significative, voyons une démo ..."
|
||||
]
|
||||
|
@ -100,7 +100,7 @@ exports.level = {
|
|||
"Le comportement par défaut de `fakeTeamwork` est de simplement faire apparaître un commit sur master"
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Voilà -- le dépôt distant a été mis-à-jour avec un nouveau commit, et nous n'avons pas encore téléchargé ce commit parce que nous n'avons pas exécuter la commande `git fetch`."
|
||||
"Voilà : le dépôt distant a été mis-à-jour avec un nouveau commit, et nous n'avons pas encore téléchargé ce commit parce que nous n'avons pas exécuté la commande `git fetch`."
|
||||
],
|
||||
"command": "git fakeTeamwork",
|
||||
"beforeCommand": "git clone"
|
||||
|
|
|
@ -185,11 +185,11 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Imaginez que vous clonez un dépôt le lundi et commencez à bidouiller une nouvelle fonctionnalité. Le vendredi vous êtes prêt à publier votre fonctionnalité -- mais oh nan ! Vos collègues ont écrit une floppée de code durant la semaine ce qui rend votre fonctionnalité désuète (et obsolète). Ils ont aussi publié sur le dépôt distant partagé, donc maintenant *vôtre* travail est basé sur une *vieille* version du projet qui n'est plus viable.",
|
||||
"Imaginez que vous clonez un dépôt le lundi et commencez à bidouiller une nouvelle fonctionnalité. Le vendredi vous êtes prêt à publier votre fonctionnalité -- mais oh nan ! Vos collègues ont écrit une floppée de code durant la semaine ce qui rend votre fonctionnalité désuète (et obsolète). Ils ont aussi publié sur le dépôt distant partagé, donc maintenant *votre* travail est basé sur une *vieille* version du projet qui n'est plus viable.",
|
||||
"",
|
||||
"Dans ce cas, la commande `git push` est ambiguë. Si vous exécutez `git push`, git devrait-il remettre le dépôt distant tel qu'il était lundi ? Doit-il essayer d'ajouter vôtre code sans supprimer le nouveau code ? Ou doit-il totalement ignorer vos changements puisqu'ils ne sont plus à jour ?",
|
||||
"Dans ce cas, la commande `git push` est ambiguë. Si vous exécutez `git push`, git devrait-il remettre le dépôt distant tel qu'il était lundi ? Doit-il essayer d'ajouter votre code sans supprimer le nouveau code ? Ou doit-il totalement ignorer vos changements puisqu'ils ne sont plus à jour ?",
|
||||
"",
|
||||
"Comme il y a trop d'ambiguïté dans cette situation (où l'historique a divergé), git ne vous autorise pas à `push` vos changements. Cela vous force en fait à incorporer le dernier état du dépôt distant avnat de pouvoir partager vôtre travail."
|
||||
"Comme il y a trop d'ambiguïté dans cette situation (où l'historique a divergé), git ne vous autorise pas à `push` vos changements. Cela vous force en fait à incorporer le dernier état du dépôt distant avnat de pouvoir partager votre travail."
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -200,7 +200,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 vôtre 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 vôtre push."
|
||||
"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."
|
||||
],
|
||||
"command": "git push",
|
||||
"beforeCommand": "git clone; git fakeTeamwork; git commit"
|
||||
|
@ -210,9 +210,9 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Comment vous résolvez cette situation ? C'est facile, tout ce que vous avez à faire est de baser vôtre travail sur la dernière version de la branche distante.",
|
||||
"Comment vous résolvez cette situation ? C'est facile, tout ce que vous avez à faire est de baser votre travail sur la dernière version de la branche distante.",
|
||||
"",
|
||||
"Il y a plusieurs façons de faire cela, mais la plus directe est de déplacer vôtre travail avec rebase. Allons voir à quoi cela ressemble."
|
||||
"Il y a plusieurs façons de faire cela, mais la plus directe est de déplacer votre travail avec rebase. Allons voir à quoi cela ressemble."
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -223,7 +223,7 @@ exports.level = {
|
|||
"Maintenant si nous rebasons avant de push ..."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Boum ! Nous avons mis à jour nôtre représentation locale du dépôt avec `git fetch`, rebasé nôtre travail pour refléter les nouveaux changements, et enfin les avons envoyés avec `git push`"
|
||||
"Boum ! Nous avons mis à jour notre représentation locale du dépôt avec `git fetch`, rebasé notre travail pour refléter les nouveaux changements, et enfin les avons envoyés avec `git push`"
|
||||
],
|
||||
"command": "git fetch; git rebase o/master; git push",
|
||||
"beforeCommand": "git clone; git fakeTeamwork; git commit"
|
||||
|
@ -233,7 +233,7 @@ exports.level = {
|
|||
"type": "ModalAlert",
|
||||
"options": {
|
||||
"markdowns": [
|
||||
"Existe-t-il d'autres façons de mettre à jour nôtre travail quand le répertoire distant a été mis à jour ? Bien sûr ! Faisons la même chose avec `merge` plutôt.",
|
||||
"Existe-t-il d'autres façons de mettre à jour notre travail quand le répertoire distant a été mis à jour ? Bien sûr ! Faisons la même chose avec `merge` plutôt.",
|
||||
"",
|
||||
"Bien que `git merge` ne déplace pas vôtre travail (et au lieu de cela crée juste un commit de fusion), c'est une façon de dire à git que vous avez incorporé tous les changements du dépôt distant. C'est parce que la branche distante est maitenant une *ancêtre* de vôtre propre branche, ce qui signifie que vos commits reflètent tous les changements faits sur la branche distante.",
|
||||
"",
|
||||
|
@ -245,10 +245,10 @@ exports.level = {
|
|||
"type": "GitDemonstrationView",
|
||||
"options": {
|
||||
"beforeMarkdowns": [
|
||||
"Maintenant si nous mergeons avant de rebaser ..."
|
||||
"Maintenant si nous mergeons au lieu de rebaser ..."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Boum ! Nous avons mis à jour nôtre représentation du dépôt distant avec `git fetch`, *fusionné* le nouveau travail dans nôtre travail (pour refléter les nouveaux changements du dépôt distant), et les avons ensuite envoyés avec `git push`"
|
||||
"Boum ! Nous avons mis à jour notre représentation du dépôt distant avec `git fetch`, *fusionné* le nouveau travail dans notre travail (pour refléter les nouveaux changements du dépôt distant), et les avons ensuite envoyés avec `git push`"
|
||||
],
|
||||
"command": "git fetch; git merge o/master; git push",
|
||||
"beforeCommand": "git clone; git fakeTeamwork; git commit"
|
||||
|
@ -300,10 +300,10 @@ exports.level = {
|
|||
"",
|
||||
"Pour finir ce niveau, réalisez les étapes suivantes :",
|
||||
"",
|
||||
"* Clonez vôtre dépôt",
|
||||
"* Clonez votre dépôt",
|
||||
"* Simuler un travail d'équipe (1 commit)",
|
||||
"* Commitez un peu de vôtre travail (1 commit)",
|
||||
"* Publiez vôtre travail avec *rebase*"
|
||||
"* Commitez un peu de votre travail (1 commit)",
|
||||
"* Publiez votre travail avec *rebase*"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
@ -74,15 +74,15 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Git Push",
|
||||
"",
|
||||
"Ok, donc j'ai rapatrié les changementsdu dépôt distant et les incorporé dans mon travail local. C'est super ... mais comment je partage _mon_ travail génial avec tous les autres ?",
|
||||
"Ok, donc j'ai rapatrié les changements du dépôt distant et les incorporé dans mon travail local. C'est super ... mais comment je partage _mon_ travail génial avec tous les autres ?",
|
||||
"",
|
||||
"En fait, la manière d'envoyer du travail à partager fonctionne à l'opposé du téléchargement de travail partagé. Et quel est l'opposé de `git pull` ? `git push`!",
|
||||
"",
|
||||
"`git push` est responsable de l'envoi de _vos_ changements vers un dépôt distant et de la mise à jour de ce dépôt pour incorporer vos commits. Une fois `git push` terminé, tous vos amis peuvent télécharger vôtre travail depuis le dépôt distant.",
|
||||
"`git push` est responsable de l'envoi de _vos_ changements vers un dépôt distant et de la mise à jour de ce dépôt pour incorporer vos commits. Une fois `git push` terminé, tous vos amis peuvent télécharger votre travail depuis le dépôt distant.",
|
||||
"",
|
||||
"Vous pouvez voir `git push` comme une commande qui \"publie\" vôtre travail. Elle a une variété de subtilité que nous allons voir rapidement, mais commençons avec le b.a-ba ...",
|
||||
"Vous pouvez voir `git push` comme une commande qui \"publie\" votre travail. Elle a une variété de subtilité que nous allons voir rapidement, mais commençons avec le b.a-ba ...",
|
||||
"",
|
||||
"*note -- le comportement de `git push` avec aucun argument varie avec l'un des réglages de git appelé `push.default`. La valeur par défaut pour ce réglage dépend de la version de git utilisée, mais nous allons utiliser la valeur `upstream` dans nos leçons. Ce n'est pas un gros inconvénient, maisvérifiez tout de même vos réglages avant de pusher vos propres projets.*"
|
||||
"*note : le comportement de `git push` avec aucun argument varie avec l'un des réglages de git appelé `push.default`. La valeur par défaut pour ce réglage dépend de la version de git utilisée, mais nous allons utiliser la valeur `upstream` dans nos leçons. Ce n'est pas un gros inconvénient, mais vérifiez tout de même vos réglages avant de pusher vos propres projets.*"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -106,7 +106,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Les arguments de push",
|
||||
"",
|
||||
"Bien ! Maintenant que vous connaissez le suivi des branches, nous pouvons fouiller ce qui se cache derrière le fonctionnement de push, fetch, et pull. Nous allons aborder une commande à la fois, mais elles sontt très similaires.",
|
||||
"Bien ! Maintenant que vous connaissez le suivi des branches, nous pouvons fouiller ce qui se cache derrière le fonctionnement de push, fetch, et pull. Nous allons aborder une commande à la fois, mais elles sont très similaires.",
|
||||
"",
|
||||
"En premier lieu regardons `git push`. Vous avez appris dans la leçon sur le suivi des branches que git détermine le dépôt distant *et* la branche à envoyer en regardant les propriétés de la branche courante (i.e. la branche qu'elle \"suit\" -- track). C'est le comportement quand aucun argument n'est spécifié, mais git peut optionnellement prendre des arguments de la forme :",
|
||||
"",
|
||||
|
@ -124,11 +124,11 @@ exports.level = {
|
|||
"",
|
||||
"`git push origin master`",
|
||||
"",
|
||||
"translates to this in English:",
|
||||
"ce qui veut dire :",
|
||||
"",
|
||||
"*Va dans la branche \"master\" de mon dépôt, récupère tous les commits, et ensuite va dans la branche distante \"master\" sur le dépôt nommé \"origin\". Cela place tous les commits manquants sur cette branche puis me notifie quand c'est terminé.*",
|
||||
"",
|
||||
"En spécifiant `master` comme argument \"place\", nous avons dit à git *d'où* les commits venaient et où ils *allaient*. C'est en fait \"l'emplacment\" à synchroniser entre les deux dépôts.",
|
||||
"En spécifiant `master` comme argument `<place>`, nous avons dit à git *d'où* les commits venaient et où ils *allaient*. C'est en fait \"l'emplacement\" à synchroniser entre les deux dépôts.",
|
||||
"",
|
||||
"Gardez à l'esprit que nous avons dit à git tout ce dont il a besoin (en précisant les deux arguments), il ignore totalement quelle est la branche courante !"
|
||||
]
|
||||
|
@ -141,7 +141,7 @@ exports.level = {
|
|||
"Voyons un exemple d'arguments. Notez la branche courante dans cet exemple."
|
||||
],
|
||||
"afterMarkdowns": [
|
||||
"Voilà ! `master` a été mise à joure puisque nous avons spécifié ces arguments."
|
||||
"Voilà ! `master` a été mise à jour puisque nous avons spécifié ces arguments."
|
||||
],
|
||||
"command": "git checkout C0; git push origin master",
|
||||
"beforeCommand": "git clone; git commit"
|
||||
|
|
|
@ -101,7 +101,7 @@ exports.level = {
|
|||
"markdowns": [
|
||||
"## Détails de l'argument `<place>`",
|
||||
"",
|
||||
"Vous vous rappelez de la dernière leçon que quand vous spécifiez `master` comme argument `<place>` place à git push, nous spécifions à la fois la *source* de provenance des commits et leur *destination*.",
|
||||
"Vous vous rappelez de la dernière leçon : quand vous passiez `master` comme argument `<place>` à git push, cela spécifiait à la fois la *source* de provenance des commits et leur *destination*.",
|
||||
"",
|
||||
"Vous vous demandez peut-être donc -- et si nous voulions avoir une source et une destination différentes ? Et si vous voulez envoyez des commits de la branche locale `foo` dans la branche distante `bar` ?",
|
||||
"",
|
||||
|
@ -121,7 +121,7 @@ exports.level = {
|
|||
"",
|
||||
"On en parle souvent comme un refspec. Refspec est juste un nom exotique pour un emplacement que git peut résoudre (comme la branche `foo` ou juste `HEAD~1`)",
|
||||
"",
|
||||
"Lorsque vous précisez la source et la destination indémpendamment, vous pouvez être original et précis avec les commandes sur les dépôts distants. Faisons une démo !"
|
||||
"Lorsque vous précisez la source et la destination indépendemment, vous pouvez être original et précis avec les commandes sur les dépôts distants. Faisons une démo !"
|
||||
]
|
||||
}
|
||||
},
|
||||
|
|
|
@ -229,7 +229,7 @@ exports.level = {
|
|||
"",
|
||||
"`git branch -u o/master foo`",
|
||||
"",
|
||||
"va configurer la branche `foo` pour suivre `o/master`. Si `foo` est la branche vourante, vous pouvez même ne pas le préciser:",
|
||||
"va configurer la branche `foo` pour suivre `o/master`. Si `foo` est la branche courante, vous pouvez même ne pas le préciser:",
|
||||
"",
|
||||
"`git branch -u o/master`",
|
||||
""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue