Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions _data/site.js
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
8 changes: 8 additions & 0 deletions _redirects
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
6 changes: 6 additions & 0 deletions fr_CA/noswears/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
layout: layouts/page.njk
locale: fr_CA
contentType: noswears
title: Heille tabarouette, Git!?!
---
5 changes: 5 additions & 0 deletions fr_CA/noswears/partials/footer.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<footer>
<small class="contact">Et vous, c'est quoi votre moment "Ciboulette&nbsp;! git"&nbsp;? Partagez-les avec moi&nbsp;!</small>
<small class="twitter">{% twitter_link "ksylor" %}</small>
<small class="copyright">{{site.copyright | safe}}</small>
</footer>
3 changes: 3 additions & 0 deletions fr_CA/noswears/partials/intro.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<p>Git est compliqué&nbsp;: 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&nbsp;: pour y chercher comment vous sortir du pétrin il faut <em>déjà connaître le truc qu'il faut savoir</em> pour résoudre votre problème.

<p>Voici donc quelques exemples de mauvais pas dans lesquels je me suis retrouvé, et comment j'ai réussi à m'en sortir, tout ça <em>en français dans le texte</em>*.</p>
7 changes: 7 additions & 0 deletions fr_CA/noswears/partials/outro.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<p>*Avertissement&nbsp;: 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...</p>
4 changes: 4 additions & 0 deletions fr_CA/noswears/partials/thanks.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<p>Un grand merci à tous ceux qui ont traduit le site dans d'autres langues&nbsp;, vous déchirez&nbsp;!
{% include "partials/collaborator-list.njk" %}. Avec l'aide supplémentaire de {% include "partials/otherhelper-list.njk" %}</p>

<p>Si vous souhaitez aider à ajouter une traduction dans votre langue, soumettez un PR sur {% github_link %}</p>
23 changes: 23 additions & 0 deletions fr_CA/noswears/tips/01-magic-time-machine.md
Original file line number Diff line number Diff line change
@@ -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&nbsp;!?!
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&nbsp;!
24 changes: 24 additions & 0 deletions fr_CA/noswears/tips/02-change-last-commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
tags: tip
title: Simonac, je viens de commiter et il manque une toute petite modification&nbsp;!
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&nbsp;: Ne jamais faire un `amend` sur des commits déjà
poussés vers une branche publique/partagée&nbsp;! Uniquement ceux qui
n'existent que dans votre copie locale ou vous courez après le trouble...*
12 changes: 12 additions & 0 deletions fr_CA/noswears/tips/03-change-last-commit-message.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
tags: tip
title: Schnoutte, je veux corriger le message de mon dernier commit&nbsp;!
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.
23 changes: 23 additions & 0 deletions fr_CA/noswears/tips/04-accidental-commit-master.md
Original file line number Diff line number Diff line change
@@ -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&nbsp;!
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&nbsp;: 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&nbsp;!
32 changes: 32 additions & 0 deletions fr_CA/noswears/tips/05-accidental-commit-wrong-branch.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
tags: tip
title: Câline de bine, je me suis trompé de branche pour mon commit&nbsp;!
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&nbsp;!

```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
```
14 changes: 14 additions & 0 deletions fr_CA/noswears/tips/06-dude-wheres-my-diff.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
tags: tip
title: Viande à chien, je fais un diff mais rien ne se passe&nbsp;?!
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 &macr;\\\_(ツ)\_/&macr; (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&nbsp;!)
26 changes: 26 additions & 0 deletions fr_CA/noswears/tips/07-undo-a-commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
tags: tip
title: Bouleau noir, je veux annuler un truc genre 5 commits en arrière&nbsp;!
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é&nbsp;! 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&nbsp;! Mais bien entendu, ça ne serait pas vraiment du git si
cela n'impliquait pas un jeu de commandes complètement différentes...
18 changes: 18 additions & 0 deletions fr_CA/noswears/tips/08-undo-a-file.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
tags: tip
title: Tabarnouche, je veux annuler la modification d'un fichier&nbsp;!
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&nbsp;! ENAUUUUURME... Non mais sérieux&nbsp;! C'est quoi ce monde où on doit utiliser un `checkout --` pour annuler les modifications d'un fichier&nbsp;? :shakes-fist-at-linus-torvalds:
28 changes: 28 additions & 0 deletions fr_CA/noswears/tips/20-fuck-this-noise.md
Original file line number Diff line number Diff line change
@@ -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&nbsp;: impossible de revenir en arrière&nbsp;!

```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
```
1 change: 1 addition & 0 deletions fr_CA/noswears/tips/tips.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "permalink": false }
6 changes: 6 additions & 0 deletions fr_CA/swears/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
layout: layouts/page.njk
locale: fr_CA
contentType: swears
title: Heille tabarnak, Git!?!
---
1 change: 1 addition & 0 deletions fr_CA/swears/partials/banner.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<aside class="notice">Salut&nbsp;! Il existe aussi une version crissement moins religieuse sur <a href="{{site.url_noswears}}/{{locale}}">dangitgit.com</a></aside>
5 changes: 5 additions & 0 deletions fr_CA/swears/partials/footer.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<footer>
<small class="contact">Et vous, c'est quoi votre moment "Tabarnak&nbsp;! git"&nbsp;? Partagez-les avec moi&nbsp;!</small>
<small class="twitter">{% twitter_link "ohshitgit" %} {% twitter_link "ksylor" %}</small>
<small class="copyright">{{site.copyright | safe}}</small>
</footer>
3 changes: 3 additions & 0 deletions fr_CA/swears/partials/intro.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<p>Git n'est pas pantoute évident&nbsp;: 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&nbsp;: pour y chercher comment te sortir de la marde il faut <em>déjà connaître l'osti d'patente qu'il te faut</em> pour résoudre ton problème.

<p>Voici donc quelques exemples de mauvais pas où je me suis fourré, et comment j'ai réussi à m'en tirer, tout ça <em>en français dans le texte</em>*.</p>
7 changes: 7 additions & 0 deletions fr_CA/swears/partials/outro.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<p>*Avertissement&nbsp;: 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...</p>
4 changes: 4 additions & 0 deletions fr_CA/swears/partials/thanks.njk
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<p>Un grand merci à tous ceux qui ont traduit le site dans d'autres langues&nbsp;, vous déchirez&nbsp;!
{% include "partials/collaborator-list.njk" %}. Avec l'aide supplémentaire de {% include "partials/otherhelper-list.njk" %}</p>

<p>Si vous souhaitez aider à ajouter une traduction dans votre langue, soumettez un PR sur {% github_link %}</p>
23 changes: 23 additions & 0 deletions fr_CA/swears/tips/01-magic-time-machine.md
Original file line number Diff line number Diff line change
@@ -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&nbsp;!?!
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&nbsp;!
24 changes: 24 additions & 0 deletions fr_CA/swears/tips/02-change-last-commit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
tags: tip
title: Osti d'marde, je viens de commiter et il manque une toute petite modification&nbsp;!
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&nbsp;: Ne jamais faire un `amend` sur des commits déjà
poussés vers une branche publique/partagée&nbsp;! Uniquement ceux qui
n'existent que dans ta copie locale ou tu cours après le trouble...*
12 changes: 12 additions & 0 deletions fr_CA/swears/tips/03-change-last-commit-message.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
tags: tip
title: Maudit osti d'crisse, je veux corriger le message de mon dernier commit&nbsp;!
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.
Loading