Git
Created: 21 Apr 2026, Modified: 05 May 2026
Commandes de base
git initgit statusgit status | less: avec pagination (sous unix)
git log --pretty=format:"%h%x09%ad%x09%an%x09%s"- liste abrégée des commits (1 ligne par commit) (SE)
git add fichier: stagegit add -N fichier: ajouter le fichier sans son contenu- utile pour quand tu veux ajouter seulement certaines lignes ou certains hunks. ajouter le fichier avec
add -Nd’abord, puis ajouter ce que tu veux avecadd -iou avec magit. (SE) - avec des fichiers déjà existants c’est possible d’ajouter les changements en entier puis unstage certaines lignes / certains hunks, mais avec un nouveau fichier ça provoque l’erreur “error: new file fichier depends on old contents”.
- utile pour quand tu veux ajouter seulement certaines lignes ou certains hunks. ajouter le fichier avec
git restore --staged fichier: unstagegit rm --cached nomdufichier: untrack- attention ! sans le
--cachedça va supprimer le fichier du disque en même temps git rm --cached -r nomdudossier: untrack un dossier avec tout ce qu’il y a dedans- utile quand je stage un dossier trop gros à un point où magit devient inutilisable. faut ajouter des trucs à .gitignore d’abord
- attention ! sans le
git mv ancien nouveau: déplacer/renommer un fichier- et il faut committer ce changement seul (sans modifier le contenu du fichier) pour ne pas casser l’historique
git commit/git commit -m "message"git commit --amendgit clone https://github.com/{utilisateur}/{projet}.gitgit reset HEAD~: annuler le commit précédent- il m’est arrivé de casser un dépôt avec ça, je pense que ce dépôt était déjà corrompu / reflog déglingué, mais n’empêche que je préfère de nos jours si besoin de modifier le dernier commit d’utiliser
git commit --amendou juste faire un autre commit et accepter que l’erreur va être dans l’historique.
- il m’est arrivé de casser un dépôt avec ça, je pense que ce dépôt était déjà corrompu / reflog déglingué, mais n’empêche que je préfère de nos jours si besoin de modifier le dernier commit d’utiliser
git push/pull
Branches
git checkout -b nouvellebranche- sans
-bpour passer à une branche existante -dpour supprimer
- sans
Conventional commits
conventionalcommits.org/fr/v1.0.0
- feat :: une nouvelle fonctionnalité
- fix :: une correction de bug
- refactor :: refactorisation
- docs :: documentation
- perf :: un changement pour améliorer les performances
- test :: ajout ou correction de tests automatiques
- build :: un changement lié au système de build ou les dépendances
- ci :: un changement dans la configuration de l’intégration continue (builds automatiques)
- revert :: annulation d’un commit
- chore :: un changement qui ne change pas les fichiers sources
- style :: mise en forme du code sans changer sa signification (linting)
- ajouter ! en cas d’une modification incompatible
- ajouter une explication en dernière ligne du message de commit. “BREAKING CHANGE: Describe the change”
Exemples :
- feat(setup): Add bundle build kind
- refactor: Single-source version
- fix(macOS): Qt5 bug workaround
■
Discussion liée