Git/Recettes
Supprimer un fichier du dépôt tout garder le fichier.
codice_1 supprime le fichier du dépôt mais supprime aussi le fichier local.
Pour ne l'enlever que du dépôt, utiliser codice_2.
Ajouter "-r" pour les dossiers.
Annuler une soumission.
Quand on ne peut pas réécrire l'historique (par exemple en production) mais qu'il faut annuler un commit, on utilise codice_3 avec "HEAD" pour désigner la dernière soumission effectuée :
 $ git revert HEAD
 Finished one revert.
 [master 47e3b6c] Revert "Soumission 2"
 1 files changed, 0 insertions(+), 1 deletions(-)
 $ ls -a
 . .. fichier.txt .git
Pour signifier d'autres soumissions que la dernière :
Ensuite, il est recommandé de vérifier que le rollback a bien fonctionné en s'assurant de l'absence de différence entre le code actuel et celui de n-1 (où n est le nombre de commits annulés)
git revert --no-commit HEAD~2..HEAD
git diff HEAD~3 HEAD
Annuler un merge.
On ne peut pas annuler un merge comme un commit, il faut indiquer le nombre reverté (où réverter un seul merge de plusieurs commits reverte tous les commits) :
git revert -m 1
Nettoyer les changements non soumis.
Pour annuler les modifications de fichiers non soumises (discard) :
 git clean -f
Pour annuler les créations de fichiers non soumises :
 git stash save -u
 git stash drop "stash@{0}"
Annuler les changements soumis.
reset.
Par ailleurs, il existe plusieurs niveaux de reset :
Pour effacer les changements en cours, en rétablissant les états de la dernière soumission :
 $ git reset --hard HEAD
ou
 $ git reset --hard e6337879
Pour ne toucher qu'un seul fichier :
 $ git checkout fichier.txt
restore.
codice_11 revient à la version du fichier spécifié en paramètre.
Par exemple, pour restaurer tous les fichiers du dossier courant :
Pour annuler des "git add" (donc retirer un fichier de la zone de transit) :
 git restore --staged mon_fichier.txt
Récupérer une version de fichier.
Il faut d'abord récupérer l'identifiant de la version avec codice_12 :
 $ git log
 commit 47e3b6cb6427f8ce0818f5d3a4b2e762b72dbd89
 Author: NomUtilisateur <NomEmail@exemple.com>
 Date: Sat Mar 6 22:24:00 2010 -0400
 Revert "Soumission 2"
 This reverts commit e6337879cbb42a2ddfc1a1602ee785b4bfbde518.
 commit e6337879cbb42a2ddfc1a1602ee785b4bfbde518
 Author: NomUtilisateur <NomEmail@exemple.com>
 Date: Sat Mar 6 22:17:20 2010 -0400
 My second commit
 commit be8bf6da4db2ea32c10c74c7d6f366be114d18f0
 Author: NomUtilisateur <NomEmail@exemple.com>
 Date: Sat Mar 6 22:11:57 2010 -0400
 My first commit
Ensuite pour lire la version, utiliser codice_13 :
 $ git show e6337879cbb42a2ddfc1a1602ee785b4bfbde518:fichier.txt
 Test Git Wikilivres.
 test de suppression Git pour Wikilivres
Créer et appliquer un patch.
Créer un patch génère un texte de toute la série des changements entre les branches origines et master.
 $ git format-patch origin/master
Pour appliquer un patch :
 $ git apply --stat P1.txt # affiche les stats des changements
 $ git apply --check P1.txt # vérifie les problèmes
 $ git am < P1.txt # applique le patch dans l'ordre
Le patch est aussi le mode de transfert entre dépôts.

Git/Étiquetage (tags)
Principe.
Git permet d'ajouter des étiquettes ("tags" en anglais), parfois appelées "balises" (par exemple sur Bitbucket), pour spécifier des versions dans les historiques :
 git tag -a tag1
ou :
 git tag -f tag1 HEAD
Pour lister les tags :
 git tag
Se positionner sur un tag :
 git checkout tags/0.3.4
Envoyer les tags sur le serveur distant :
 git push --tags
Supprimer un tag local :
 git tag -d v1.4.9
Supprimer un tag sur le serveur :
 git push --delete origin v1.4.9
Pour recréer un tag :
 git push --delete origin v0.0.1 ; git tag -a v0.0.1 -f && git push --tags
Ou plus rapidement en gardant son message :
 git tag -d 3.0.2 ; git tag -a 3.0.2 -f -m "Résumé" && git push --tags -f
Étiquettes vs branches.
Les étiquettes comme les branches pointent vers une soumission, la différence est que la branche pointe toujours en haut de la ligne de développement et est remplacée par les soumissions postérieures, alors que l'étiquette demeure inchangée.
En pratique, les tags sont donc utilisés pour désigner les , et sont donc nommés avec des numéros, si possible selon la (ex : v1.0.2).

Git/Ressources externes
Aide-mémoires.
Il n'est pas évident de se souvenir des toutes les commandes git. Aussi, il peut vous être utile d'avoir, sous la main, un aide-mémoire dédié :
Outils de visualisation des dépôts git.
Une liste d'outils qui peuvent représenter des alternatives intéressantes à gitweb qui est livré par défaut :
Certains projets ont pour objectif d'être des alternatives open-source à GitHub :
Enfin, gerrit est un outil spécialisé pour la revue de code.

Accordéon chromatique/Historique
À noter qu'une partie de ce chapitre pourra être construite du chapitre ci-après :
Histoire du clavier alphabétique/Clavier pour instrument à vent

Recettes de villages qui bougent/Saône-et-LoireMorvan/Le pâté en croûte d'Yvonne à Toulon-sur-Arroux

Le Moine à Uchon
Photographie/Personnalités/B/George Hendrik Breitner

George Hendrik Breitner était un peintre, photographe, dessinateur et graveur néerlandais né le 12 septembre 1857 à Rotterdam et décédé le 5 juin 1923 à Amsterdam. Il a travaillé en de très nombreux endroits : Rotterdam (1873–1875), La Haye (1876–1880), Rotterdam (1879), Scheveningen (1880–1881), Boxtel (1881), Rotterdam (1882), Drenthe (1883), Paris (1884), Loosduinen (1885), Drenthe (1885), Amsterdam (1886–1903), Arnhem (1889), Berlin (1900), Aerdenhout (1903–1906), Amsterdam (1906–1923), Anvers (1907), Bruxelles (1907), Gand (1907), Malines (1907), Pittsburgh (avril 1909-juin 1909), New York, Philadelphia, Munich (1922).

Git/Linux
Nous allons maintenant voir comment, lorsque vous travaillez sous Linux, vous pouvez travailler au mieux avec Git et augmenter votre productivité.
Installer un prompt git.
Si vous travaillez sur un projet plusieurs heures d'affilée, vous avez probablement une console qui reste ouverte en permanence pour "commiter" régulièrement. Autant éviter de taper « git » à chaque fois, et de passer son temps à faire des « git branch » pour savoir sur quelle branche on travaille.
Pour gagner du temps, vous pouvez installer un prompt git, et pour commencer à travailler, taper
git sh
Cela nous ouvre un prompt git. Désormais, l'invite de commande vous indique le répertoire dans lequel vous vous trouvez mais aussi la branche courante. Toutes les commandes sont automatiquement préfixées par "git", vous pouvez taper directement la commande git à appliquer.
Ctrl+D vous permet de quitter le prompt à tout moment.
Ce shell intègre également beaucoup de raccourcis, consulter codice_1 pour avoir la liste. Quelques exemples :
a # git add
aa # git add --update (mnémonique « add all »)
stage # git add
ap # git add --patch
p # git diff --cached (mnémonique « patch »)
ps # git diff --cached --stat (mnémonique « patch stat »)
unstage # git reset HEAD
ci # git commit --verbose
ca # git commit --verbose --all
amend # git commit --verbose --amend
n # git commit --verbose --amend
k # git cherry-pick
re # git rebase --interactive
pop # git reset --soft HEAD^
peek # git log -p --max-count=1
f # git fetch
pm # git pull (mnemonic: « pull merge »)
pr # git pull --rebase (mnémonique « pull rebase »)
d # git diff
ds # git diff --stat (mnémonique « diff stat »)
hard # git reset --hard
soft # git reset --soft
scrap # git checkout HEAD