diff --git a/_data/site.js b/_data/site.js index b6766624..f8776cbf 100644 --- a/_data/site.js +++ b/_data/site.js @@ -38,6 +38,11 @@ module.exports = { code: "fr", arialabel: "Choisir une autre langue", }, + { + label: "français canadien", + code: "fr_CA", + arialabel: "Choisir une autre langue", + }, { label: "हिन्दी", code: "hi", @@ -185,6 +190,11 @@ module.exports = { link: "https://github.com/michelc", lang: "fr", }, + { + name: "David Huggins-Daines", + link: "https://github.com/dhuggins", + lang: "fr_CA", + }, { name: "Andriy Sultanov", link: "https://github.com/LastGenius-edu", diff --git a/_redirects b/_redirects index fa7cd490..a8444e43 100644 --- a/_redirects +++ b/_redirects @@ -54,6 +54,14 @@ https://ohshitgit.com/ https://ohshitgit.com/fr 302 Language=fr https://dangitgit.com/fr https://dangitgit.com/fr/noswears/index.html 200! https://dangitgit.com/ https://dangitgit.com/fr 302 Language=fr +# canadian french swears +https://ohshitgit.com/fr_CA https://ohshitgit.com/fr_CA/swears/index.html 200! +https://ohshitgit.com/ https://ohshitgit.com/fr_CA 302 Language=fr_CA + +# canadian french no swears +https://dangitgit.com/fr_CA https://dangitgit.com/fr_CA/noswears/index.html 200! +https://dangitgit.com/ https://dangitgit.com/fr_CA 302 Language=fr_CA + # japanese swears https://ohshitgit.com/ja https://ohshitgit.com/ja/swears/index.html 200! https://ohshitgit.com/ https://ohshitgit.com/ja 302 Language=ja diff --git a/fr_CA/noswears/index.html b/fr_CA/noswears/index.html new file mode 100644 index 00000000..beaefc69 --- /dev/null +++ b/fr_CA/noswears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: fr_CA +contentType: noswears +title: Heille tabarouette, Git!?! +--- diff --git a/fr_CA/noswears/partials/footer.njk b/fr_CA/noswears/partials/footer.njk new file mode 100644 index 00000000..921bd939 --- /dev/null +++ b/fr_CA/noswears/partials/footer.njk @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/fr_CA/noswears/partials/intro.njk b/fr_CA/noswears/partials/intro.njk new file mode 100644 index 00000000..d83ee189 --- /dev/null +++ b/fr_CA/noswears/partials/intro.njk @@ -0,0 +1,3 @@ +
Git est compliqué : il est facile de se tromper et impossible de réparer ses erreurs. La documentation de Git tient du problème de l'œuf et de la poule : pour y chercher comment vous sortir du pétrin il faut déjà connaître le truc qu'il faut savoir pour résoudre votre problème. + +
Voici donc quelques exemples de mauvais pas dans lesquels je me suis retrouvé, et comment j'ai réussi à m'en sortir, tout ça en français dans le texte*.
diff --git a/fr_CA/noswears/partials/outro.njk b/fr_CA/noswears/partials/outro.njk new file mode 100644 index 00000000..545f8209 --- /dev/null +++ b/fr_CA/noswears/partials/outro.njk @@ -0,0 +1,7 @@ +*Avertissement : Ce site n'a pas pour objectif d'être une +référence exhaustive. Et bien sûr, il existe d'autres façons de faire +la même chose avec plus d'élégance sémantique (tic tic), mais j'en +suis arrivé à ce résultat à force de tâtonnements, d'erreurs, d'un tas +de sacres et de tables renversées. Puis j'ai eu l'idée saugrenue de +partager mes trouvailles, assaisonnées d'une bonne dose de frivolité +et d'imprécations. À prendre ou à laisser...
\ No newline at end of file diff --git a/fr_CA/noswears/partials/thanks.njk b/fr_CA/noswears/partials/thanks.njk new file mode 100644 index 00000000..bd868eeb --- /dev/null +++ b/fr_CA/noswears/partials/thanks.njk @@ -0,0 +1,4 @@ +Un grand merci à tous ceux qui ont traduit le site dans d'autres langues , vous déchirez ! +{% include "partials/collaborator-list.njk" %}. Avec l'aide supplémentaire de {% include "partials/otherhelper-list.njk" %}
+ +Si vous souhaitez aider à ajouter une traduction dans votre langue, soumettez un PR sur {% github_link %}
\ No newline at end of file diff --git a/fr_CA/noswears/tips/01-magic-time-machine.md b/fr_CA/noswears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..2baa872a --- /dev/null +++ b/fr_CA/noswears/tips/01-magic-time-machine.md @@ -0,0 +1,23 @@ +--- +tags: tip +title: Ayoye, j'ai fait quelque chose de pas correct pantoute, par pitié dites-moi que git peut voyager dans le temps !?! +id: magic-time-machine +order: 1 +--- + +```git +git reflog +# liste tout ce que vous avez fait dans git, +# quelle que soit la branche ! +# chaque entrée correspond à un index HEAD@{index} +# trouvez celui juste avant d'avoir tout cassé +git reset HEAD@{index} +# git est magique +``` + +Ça sert pour récupérer une suppression accidentelle, ou annuler des +tentatives qui ont magané ton repository , ou s'en sortir après une +mauvaise fusion, ou simplement revenir en arrière à un point où les +choses fonctionnaient correctement. J'utilise BEAUCOUP +`reflog`. Chapeau trèèèès bas aux nombreuuuuuuses personnes qui m'ont +suggéré cette technique ! diff --git a/fr_CA/noswears/tips/02-change-last-commit.md b/fr_CA/noswears/tips/02-change-last-commit.md new file mode 100644 index 00000000..ce550c1a --- /dev/null +++ b/fr_CA/noswears/tips/02-change-last-commit.md @@ -0,0 +1,24 @@ +--- +tags: tip +title: Simonac, je viens de commiter et il manque une toute petite modification ! +id: modifier-le-dernier-commit +order: 2 +--- + +```git +# faire votre correction +git add . # ou ajouter les fichiers un à un +git commit --amend --no-edit +# votre dernier commit contient désormais votre modification ! +# ATTENTION : ne jamais amend-er les commits publics +``` + +Cela m'arrive généralement quand je commite puis lance des +tests/lints... eh ben, j'ai oublié un espace après une +virgule. Vous pouvez aussi faire le changement via un nouveau commit +puis faire `rebase -i` afin de fusionner les deux commits, mais c'est +minimum un million de fois plus rapide. + +*Avertissement : Ne jamais faire un `amend` sur des commits déjà +poussés vers une branche publique/partagée ! Uniquement ceux qui +n'existent que dans votre copie locale ou vous courez après le trouble...* diff --git a/fr_CA/noswears/tips/03-change-last-commit-message.md b/fr_CA/noswears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..157cb3e9 --- /dev/null +++ b/fr_CA/noswears/tips/03-change-last-commit-message.md @@ -0,0 +1,12 @@ +--- +tags: tip +title: Schnoutte, je veux corriger le message de mon dernier commit ! +id: corriger-dernier-message-commit +order: 3 +--- +```git +git commit --amend +# suivre les instructions pour modifier le message de commit +``` + +Encore ces règles de formatage des messages de commit. diff --git a/fr_CA/noswears/tips/04-accidental-commit-master.md b/fr_CA/noswears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..6d295ccf --- /dev/null +++ b/fr_CA/noswears/tips/04-accidental-commit-master.md @@ -0,0 +1,23 @@ +--- +tags: tip +title: Ben coudonc, j'ai commité sur le master alors que ça aurait dû aller sur une nouvelle branche ! +id: erreur-commit-master +order: 4 +--- + +```git +# créer une nouvelle branche à partir du master actuel +git branch un-nom-de-nouvelle-branche +# supprimer le dernier commit du master +git reset HEAD~ --hard +git checkout un-nom-de-nouvelle-branche +# votre commit est désormais dans cette branche :) +``` + +Note : cela ne fonctionne pas si vous avez déjà poussé le commit +vers une branche publique/partagée, et si vous avez essayé d'autres +trucs avant. Vous devrez sans doute faire un `git reset +HEAD@{number-of-commits-back}` au lieu de `HEAD~`. Gros malaise. Et +aussi, beaucoup beaucoup beaucoup de personnes ont proposé une méthode +géniale pour que ce soit plus court que ce que j'avais réussi à +faire. Merci à tous ! diff --git a/fr_CA/noswears/tips/05-accidental-commit-wrong-branch.md b/fr_CA/noswears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..6f9e09b9 --- /dev/null +++ b/fr_CA/noswears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,32 @@ +--- +tags: tip +title: Câline de bine, je me suis trompé de branche pour mon commit ! +id: commit-dans-mauvaise-branche +order: 5 +--- + +```git +# annuler le dernier commit, mais conserver les modifications +git reset HEAD~ --soft +git stash +# passer sur la bonne branche +git checkout nom-de-la-branche-correcte +git stash pop +git add . # ou ajouter les fichiers un à un +git commit -m "votre message ici"; +# maintenant vos modifications sont sur la bonne branche +``` + +Pas mal de gens ont conseillé d'utiliser `cherry-pick` dans ce cas-là, +donc à vous de faire votre choix et d'utiliser ce qui vous semble le +plus logique ! + +```git +# passer sur la bonne branche +git checkout nom-de-la-branche-correcte +# y récupérer le dernier commit du master +git cherry-pick master +# supprimer le dernier commit du master +git checkout master +git reset HEAD~ --hard +``` diff --git a/fr_CA/noswears/tips/06-dude-wheres-my-diff.md b/fr_CA/noswears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..8391070c --- /dev/null +++ b/fr_CA/noswears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,14 @@ +--- +tags: tip +title: Viande à chien, je fais un diff mais rien ne se passe ?! +id: rendez-moi-mon-diff +order: 6 +--- + +Quand vous avez modifié des fichiers, mais que `diff` ne renvoie rien, c'est sans doute que vous avez déjà "ajouté" ces fichiers et qu'il faut utiliser une option spéciale. + +```git +git diff --staged +``` + +Classé dans ¯\\\_(ツ)\_/¯ (oui, je sais, c'est un feature et pas une bogue, mais c'est pas du tout évident la première fois où ça vous arrive !) diff --git a/fr_CA/noswears/tips/07-undo-a-commit.md b/fr_CA/noswears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..3d32e126 --- /dev/null +++ b/fr_CA/noswears/tips/07-undo-a-commit.md @@ -0,0 +1,26 @@ +--- +tags: tip +title: Bouleau noir, je veux annuler un truc genre 5 commits en arrière ! +id: annuler-un-commit +order: 7 +--- + +```git +# trouver le commit que vous devez annuler +git log +# se déplacer dans l'historique avec flèche haut / flèche bas +# une fois le commit trouvé, mémoriser son hash +git revert [hash mémorisé] +# git va créer un nouveau commit qui annule ce commit +# suivre les instructions pour éditer le message de commit +# ou contentez-vous d'enregistrer et valider +``` + +Mais non, vous n'avez pas besoin de chercher l'ancien fichier puis +copier-coller son contenu dans le fichier actuel pour annuler ce qui a +été modifié ! Si vous avez commité une bogue, tu peux annuler votre +livraison d'un seul coup avec `revert`. + +Vous pouvez aussi annuler un seul fichier plutôt que le commit +complet ! Mais bien entendu, ça ne serait pas vraiment du git si +cela n'impliquait pas un jeu de commandes complètement différentes... diff --git a/fr_CA/noswears/tips/08-undo-a-file.md b/fr_CA/noswears/tips/08-undo-a-file.md new file mode 100644 index 00000000..e46886d4 --- /dev/null +++ b/fr_CA/noswears/tips/08-undo-a-file.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Tabarnouche, je veux annuler la modification d'un fichier ! +id: annuler-un-fichier +order: 8 +--- + +```git +# trouver le hash d'un commit d'avant la modification +git log +# se déplacer dans l'historique avec flèche haut / flèche bas +# une fois le commit trouvé, mémoriser son hash +git checkout [hash mémorisé] -- path/to/file +# l'ancienne version du fichier est désormais dans l'index +git commit -m "Super, pas de copier/coller pour annuler" +``` + +Quand j'ai enfin réussi à connaître ce truc, c'était ENORME. ENORME ! ENAUUUUURME... Non mais sérieux ! C'est quoi ce monde où on doit utiliser un `checkout --` pour annuler les modifications d'un fichier ? :shakes-fist-at-linus-torvalds: diff --git a/fr_CA/noswears/tips/20-fuck-this-noise.md b/fr_CA/noswears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..5adf6683 --- /dev/null +++ b/fr_CA/noswears/tips/20-fuck-this-noise.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Esprit de ciboulette de saint-calvasse de cream puff... j'abdique. +id: je-repars-a-zero +note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it +order: 20 +--- + +```git +cd .. +sudo rm -r depot-git-tortueux +git clone https://some.github.url/depot-git-tortueux.git +cd depot-git-tortueux +``` + +Merci à Eric V. pour ce conseil. Par conséquent, en cas de réclamation à cause du `sudo`, voyez-ça directement avec lui... + +Plus sérieusement, quand votre branche est devenue tellement tordue que le plus simple c'est de revenir à l'état d'origine du dépôt distant, essayez cette méthode "homologuée git". Mais attention, c'est ferme et définitif : impossible de revenir en arrière ! + +```git +# obtenir la dernière version du serveur +git fetch origin +git checkout master +git reset --hard origin/master +# supprimer les fichiers et répertoires non archivés +git clean -d --force +# répéter checkout/reset/clean pour chaque branche problématique +``` diff --git a/fr_CA/noswears/tips/tips.json b/fr_CA/noswears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/fr_CA/noswears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false } diff --git a/fr_CA/swears/index.html b/fr_CA/swears/index.html new file mode 100644 index 00000000..dd0e205c --- /dev/null +++ b/fr_CA/swears/index.html @@ -0,0 +1,6 @@ +--- +layout: layouts/page.njk +locale: fr_CA +contentType: swears +title: Heille tabarnak, Git!?! +--- diff --git a/fr_CA/swears/partials/banner.njk b/fr_CA/swears/partials/banner.njk new file mode 100644 index 00000000..ada89851 --- /dev/null +++ b/fr_CA/swears/partials/banner.njk @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/fr_CA/swears/partials/footer.njk b/fr_CA/swears/partials/footer.njk new file mode 100644 index 00000000..d6509b3f --- /dev/null +++ b/fr_CA/swears/partials/footer.njk @@ -0,0 +1,5 @@ + diff --git a/fr_CA/swears/partials/intro.njk b/fr_CA/swears/partials/intro.njk new file mode 100644 index 00000000..06f68a3e --- /dev/null +++ b/fr_CA/swears/partials/intro.njk @@ -0,0 +1,3 @@ +Git n'est pas pantoute évident : c'est trop facile de câlisser le bordel partout et crissement impossible de réparer ses erreurs. La documentation de Git tient du problème de l'œuf et de la poule : pour y chercher comment te sortir de la marde il faut déjà connaître l'osti d'patente qu'il te faut pour résoudre ton problème. + +
Voici donc quelques exemples de mauvais pas où je me suis fourré, et comment j'ai réussi à m'en tirer, tout ça en français dans le texte*.
diff --git a/fr_CA/swears/partials/outro.njk b/fr_CA/swears/partials/outro.njk new file mode 100644 index 00000000..2217e2c1 --- /dev/null +++ b/fr_CA/swears/partials/outro.njk @@ -0,0 +1,7 @@ +*Avertissement : Ce site n'a pas pour objectif d'être une +référence exhaustive. Et bien sûr, il existe d'autres façons de faire +la même chose avec plus d'élégance sémantique (tic tic), mais j'en +suis arrivé à ce résultat à force de tâtonnements, d'erreurs, d'un tas +de sacres et de tables renversées. Puis j'ai eu l'idée saugrenue de +partager mes trouvailles, assaisonnées d'une bonne dose de frivolité +et d'imprécations. A prendre ou à laisser...
\ No newline at end of file diff --git a/fr_CA/swears/partials/thanks.njk b/fr_CA/swears/partials/thanks.njk new file mode 100644 index 00000000..bd868eeb --- /dev/null +++ b/fr_CA/swears/partials/thanks.njk @@ -0,0 +1,4 @@ +Un grand merci à tous ceux qui ont traduit le site dans d'autres langues , vous déchirez ! +{% include "partials/collaborator-list.njk" %}. Avec l'aide supplémentaire de {% include "partials/otherhelper-list.njk" %}
+ +Si vous souhaitez aider à ajouter une traduction dans votre langue, soumettez un PR sur {% github_link %}
\ No newline at end of file diff --git a/fr_CA/swears/tips/01-magic-time-machine.md b/fr_CA/swears/tips/01-magic-time-machine.md new file mode 100644 index 00000000..9fb623bb --- /dev/null +++ b/fr_CA/swears/tips/01-magic-time-machine.md @@ -0,0 +1,23 @@ +--- +tags: tip +title: Voyons donc tabarnak, j'ai tout peté, y'a-tu une machine à voyager dans le temps dans git !?! +id: magic-time-machine +order: 1 +--- + +```git +git reflog +# liste tout ce que tu as fait dans git, +# quelle que soit la branche ! +# chaque entrée correspond à un index HEAD@{index} +# trouvez celui juste avant d'avoir tout cassé +git reset HEAD@{index} +# git est magique +``` + +Ça sert pour récupérer une suppression accidentelle, ou annuler des +tentatives qui ont magané ton repository, ou s'en sortir après une +mauvaise fusion, ou simplement revenir en arrière à un point où les +choses fonctionnaient correctement. J'utilise BEAUCOUP +`reflog`. Chapeau trèèèès bas aux nombreuuuuuuses personnes qui m'ont +suggéré cette technique ! diff --git a/fr_CA/swears/tips/02-change-last-commit.md b/fr_CA/swears/tips/02-change-last-commit.md new file mode 100644 index 00000000..2465f69c --- /dev/null +++ b/fr_CA/swears/tips/02-change-last-commit.md @@ -0,0 +1,24 @@ +--- +tags: tip +title: Osti d'marde, je viens de commiter et il manque une toute petite modification ! +id: modifier-le-dernier-commit +order: 2 +--- + +```git +# faire ta correction +git add . # ou ajouter les fichiers un à un +git commit --amend --no-edit +# ton dernier commit contient désormais votre modification ! +# ATTENTION : ne jamais amend-er les commits publics +``` + +Cela m'arrive généralement quand je commite puis lance des +tests/lints... et crisse, j'ai oublié un espace après une +virgule. Tu peux aussi faire le changement via un nouveau commit +puis faire `rebase -i` afin de fusionner les deux commits, mais c'est +minimum un million de fois plus rapide. + +*Avertissement : Ne jamais faire un `amend` sur des commits déjà +poussés vers une branche publique/partagée ! Uniquement ceux qui +n'existent que dans ta copie locale ou tu cours après le trouble...* diff --git a/fr_CA/swears/tips/03-change-last-commit-message.md b/fr_CA/swears/tips/03-change-last-commit-message.md new file mode 100644 index 00000000..23476d25 --- /dev/null +++ b/fr_CA/swears/tips/03-change-last-commit-message.md @@ -0,0 +1,12 @@ +--- +tags: tip +title: Maudit osti d'crisse, je veux corriger le message de mon dernier commit ! +id: corriger-dernier-message-commit +order: 3 +--- +```git +git commit --amend +# suivre les instructions pour modifier le message de commit +``` + +Encore ces règles de formatage des messages de commit. diff --git a/fr_CA/swears/tips/04-accidental-commit-master.md b/fr_CA/swears/tips/04-accidental-commit-master.md new file mode 100644 index 00000000..b3a2ca08 --- /dev/null +++ b/fr_CA/swears/tips/04-accidental-commit-master.md @@ -0,0 +1,23 @@ +--- +tags: tip +title: Osti d'saint-ciboire, j'ai commité sur le master alors que ça aurait dû aller sur une nouvelle branche ! +id: erreur-commit-master +order: 4 +--- + +```git +# créer une nouvelle branche à partir du master actuel +git branch un-nom-de-nouvelle-branche +# supprimer le dernier commit du master +git reset HEAD~ --hard +git checkout un-nom-de-nouvelle-branche +# ton commit est désormais dans cette branche :) +``` + +Note : cela ne fonctionne pas si t'as déjà poussé le commit vers +une branche publique/partagée, et si t'as essayé d'autres trucs +avant. Il va falloir que tu fasses un `git reset +HEAD@{number-of-commits-back}` au lieu de `HEAD~`. Misère noire! Et +aussi, beaucoup beaucoup beaucoup de personnes ont proposé une méthode +géniale pour que ce soit plus court que ce que j'avais réussi à +faire. Merci à tous ! diff --git a/fr_CA/swears/tips/05-accidental-commit-wrong-branch.md b/fr_CA/swears/tips/05-accidental-commit-wrong-branch.md new file mode 100644 index 00000000..12a9c7bb --- /dev/null +++ b/fr_CA/swears/tips/05-accidental-commit-wrong-branch.md @@ -0,0 +1,32 @@ +--- +tags: tip +title: Baptême de très-saint-sacrement, je me suis trompé de branche pour mon commit ! +id: commit-dans-mauvaise-branche +order: 5 +--- + +```git +# annuler le dernier commit, mais conserver les modifications +git reset HEAD~ --soft +git stash +# passer sur la bonne branche +git checkout nom-de-la-branche-correcte +git stash pop +git add . # ou ajouter les fichiers un à un +git commit -m "ton message ici"; +# maintenant tes modifications sont sur la bonne branche +``` + +Pas mal de gens ont conseillé d'utiliser `cherry-pick` dans ce cas-là, +donc à toi de choisir (entre la peste ou le choléra) et d'utiliser ce +qui vous semble le plus logique ! + +```git +# passer sur la bonne branche +git checkout nom-de-la-branche-correcte +# y récupérer le dernier commit du master +git cherry-pick master +# supprimer le dernier commit du master +git checkout master +git reset HEAD~ --hard +``` diff --git a/fr_CA/swears/tips/06-dude-wheres-my-diff.md b/fr_CA/swears/tips/06-dude-wheres-my-diff.md new file mode 100644 index 00000000..0f39ae6c --- /dev/null +++ b/fr_CA/swears/tips/06-dude-wheres-my-diff.md @@ -0,0 +1,18 @@ +--- +tags: tip +title: Heille mon osti d'tabarnak, je fais un diff mais rien ne se passe ?! +id: rendez-moi-mon-diff +order: 6 +--- + +Quand t'as modifié des fichiers, mais que `diff` ne renvoie rien, +c'est sans doute que t'as déjà "ajouté" ces fichiers à l'Index (stage +area) et qu'il faut utiliser une option spéciale. + +```git +git diff --staged +``` + +Classé dans ¯\\\_(ツ)\_/¯ (oui, je sais, c'est un feature, +pas une bogue, mais ostie que ça te fais chier la première fois où ça +t'arrive !) diff --git a/fr_CA/swears/tips/07-undo-a-commit.md b/fr_CA/swears/tips/07-undo-a-commit.md new file mode 100644 index 00000000..3f23885c --- /dev/null +++ b/fr_CA/swears/tips/07-undo-a-commit.md @@ -0,0 +1,26 @@ +--- +tags: tip +title: Ouate de phoque, j'ai besoin d'annuler quelque chose j'ai fait genre 5 commits en arrière ! +id: annuler-un-commit +order: 7 +--- + +```git +# trouver le commit que tu dois annuler +git log +# se déplacer dans l'historique avec flèche haut / flèche bas +# une fois le commit trouvé, mémoriser son hash +git revert [hash mémorisé] +# git va créer un nouveau commit qui annule ce commit +# suivre les instructions pour éditer le message de commit +# ou contente-toi d'enregistrer et valider +``` + +Il s'avère que tu n'as pas besoin de chercher l'ancien fichier puis +copier-coller son contenu dans le fichier actuel pour annuler ce qui a +été modifié ! Si t'as commité une bogue, tu peux annuler votre +livraison d'un seul coup avec `revert`. + +Tu peux aussi annuler un seul fichier plutôt que le commit +complet ! Mais bien entendu, ça ne serait pas vraiment du git si +cela n'impliquait pas un jeu de commandes complètement différentes... diff --git a/fr_CA/swears/tips/08-undo-a-file.md b/fr_CA/swears/tips/08-undo-a-file.md new file mode 100644 index 00000000..92979029 --- /dev/null +++ b/fr_CA/swears/tips/08-undo-a-file.md @@ -0,0 +1,22 @@ +--- +tags: tip +title: Mange de l'osti d'marde mon crisse de sale, je veux juste annuler la modification d'un fichier ! +id: annuler-un-fichier +order: 8 +--- + +```git +# trouver le hash d'un commit d'avant la modification +git log +# se déplacer dans l'historique avec flèche haut / flèche bas +# une fois le commit trouvé, mémoriser son hash +git checkout [hash mémorisé] -- path/to/file +# l'ancienne version du fichier est désormais dans l'index +git commit -m "Super, pas de copier/coller pour annuler" +``` + +Quand j'ai enfin réussi à comprendre cette crisse d'affaire, c'était +ENORME. ENORME ! ENAUUUUURME... Non mais sérieux ! C'est +qui l'ostie de cave qui a pensé que ça avait de l'allure d'utiliser un +`checkout --` pour annuler les modifications d'un fichier ? +:shakes-fist-at-linus-torvalds: diff --git a/fr_CA/swears/tips/20-fuck-this-noise.md b/fr_CA/swears/tips/20-fuck-this-noise.md new file mode 100644 index 00000000..b9f6008c --- /dev/null +++ b/fr_CA/swears/tips/20-fuck-this-noise.md @@ -0,0 +1,28 @@ +--- +tags: tip +title: Ça suffit, pu capable, je crisse mon camp, je décâlisse, je repars à zéro. +id: je-repars-a-zero +note: this should always be the last one in the list, so setting order to 20 so I don't have to re-name/re-order it +order: 20 +--- + +```git +cd .. +sudo rm -r depot-git-foireux +git clone https://some.github.url/depot-git-foireux.git +cd depot-git-foireux +``` + +Merci à Eric V. pour ce conseil. Par conséquent, en cas de réclamation à cause du `sudo`, c'est avec lui qu'il faut parler... + +Plus sérieusement, quand ta branche est devenue tellement foireuse que le plus simple c'est de revenir à l'état d'origine du dépôt distant, essayez cette méthode "homologuée git". Mais attention, c'est ferme et définitif : impossible de revenir en arrière ! + +```git +# obtenir la dernière version du serveur +git fetch origin +git checkout master +git reset --hard origin/master +# supprimer les fichiers et répertoires non archivés +git clean -d --force +# répéter checkout/reset/clean pour chaque branche problématique +``` diff --git a/fr_CA/swears/tips/tips.json b/fr_CA/swears/tips/tips.json new file mode 100644 index 00000000..d0b2aa62 --- /dev/null +++ b/fr_CA/swears/tips/tips.json @@ -0,0 +1 @@ +{ "permalink": false }