|
Configuration système (pour tous les utilisateurs et tous les dépôts)
|
$ git config --system [parametre] [valeur] |
|
Configuration utilisateur spécifique
|
$ git config --global [parametre] [valeur] |
|
Configuration dépôt spécifique
|
$ git config [parametre] [valeur] |
|
Vérifier la configuration
|
$ git config --list |
|
Initialiser un nouveau dépôt
|
$ cd project_directory $ git init |
|
Cloner un dépôt existant
|
$ git clone [url] |
|
Cloner un dépôt existant en changeant le nom du répertoire
|
$ git clone [url] myproject |
|
Voir tout l'historique
|
$ git log |
|
Formater l'affichage des logs : affichage des logs sur une seule ligne
|
$ git log --pretty=oneline |
|
Limiter le nombre de logs affichés : avoir les 2 derniers logs
|
$ git log -2 |
|
Option
|
Description
|
|
-p
|
Affiche les changements introduits dans chaque commit
|
|
--stat
|
Affiche les statistiques des fichiers modifiés dans chaque commit
|
|
--shortstat
|
Affiche des statistiques abrégées
|
|
--name-only
|
Affiche juste la liste des fichiers modifiés
|
|
--name-status
|
Affiche la liste des fichiers modifiés mais aussi ajoutés et supprimés
|
|
--abbrev-commit
|
Affiche seulement les quelques premiers caractères du checksum de commit
|
|
--relative-date
|
Affiche la date dans un format relative (ex depuis 2 jours)
|
|
--graph
|
Affiche un graphe en ASCII des branches et des fusions en plus des informations de log
|
|
--pretty
|
Affiche les logs dans un format alternatif. Plusieurs options possibles : oneline, short, full, fuller et format
|
|
-(n)
|
Afficher les n derniers commits
|
|
--since,--after
|
Afficher les commits faits depuis la date indiquée
|
|
--until,--before
|
Afficher les commits faits avant la date indiquée
|
|
--author
|
Afficher les commits dont l'entrée author correspond à la chaîne indiquée
|
|
--commiter
|
Afficher les commits dont l'entrée commiter correspond à la chaîne indiquée
|
|
--grep
|
Afficher les commits dont le message contient la chaîne indiquée
|
|
-S
|
Afficher les commits qui ajoutent ou enlèvent du code comportant la chaîne indiquée
|
|
Vérifier l'état des fichiers
|
$ git status |
|
Vérifier l'état des fichiers dans un format compact
|
$ git status -s |
|
Suivre un nouveau fichier (versionner un nouveau fichier) ou indexer un fichier modifié
|
$ git add [filename] |
|
Suivre tous les fichiers du répertoire de travail
|
$ git add . |
|
Voir les changements entre le répertoire de travail et la zone d'indexation (staged area) = voir les changements qui ne sont pas indexés
|
$ git diff |
|
Voir les changements entre la zone id'indexation et le dépôt = les changements qui n'ont pas été commité
|
$ git diff --changed |
|
Enregistrer les changements dans le dépôt
|
$ git commit |
$ git commit -m "[message]" |
|
Enregister les changements dans le dépôt sans passe la par la zone d'indexation
|
$ git commit -a -m "[message]" |
|
Ne plus versionner un fichier et le supprimer du répertoire
|
git rm [filename] |
|
Ne plus versionner un fichier sans le supprimer du répertoire
|
$ git rm --cached [filename] |
|
Renommer un fichier
|
$ git mv [file_from] [file_to] |
|
Refaire un commit (pour changer le message ou ajouter des fichiers oubliés)
|
$ git --amend |
|
Enlever un fichier de la zone d'indexation
|
$ git reset HEAD [filename] |
|
Supprimer les derniers changements d'un fichier (revenir au fichier comme il était au dernier commit)
|
$ git checkout -- [filename] |
|
Lister les noms des dépôts distants référencés localement
|
$ git remote |
|
Lister les dépôts distants avec leur url
|
$ git remote -v |
|
Ajouter/Référencer un dépôt distant
|
$ git remote add [shortname] [url] |
|
Récupérer les informations d'un dépôt distant
|
$ git fetch [shortname] |
|
Récupérer les informations de tous les dépôts distants
|
$ git fetch --all |
|
Lister les informations du dépôt local concernant l'état entre banches locales/branches distantes
|
$ git branch -vv |
|
Récupérer les données d'un dépôt distant et les fusionner au dépôt local
|
$ git pull |
|
Envoyer données sur un dépôt distant (pour lequel on a les droits d'écriture)
|
$ git push [shortname] [branchname] |
|
Inspecter un dépôt distant
|
$ git remote show [shortname] |
|
Renommer la référence (le shortname) d'un dépôt distant
|
$ git remote rename [current shortname] [new shortname] |
|
Enlever/Déréférencer un dépôt distant
|
$ git remote rm [shortname] |
fetch récupère les informations du serveur distant et répercute les changements sans toucher aux branches locales. Il faut ensuite faire des fusions ou créer des branches locales pour pouvoir éditer les branches distantes qui n'existent pas localement.pull est en quelque sorte une commande magique qui fait un fetch suivi d'un merge : pull regarde quel branche sur quel serveur est suivie par la branche locale puis récupère et fusionne les changements.
|
Lister les tags
|
$ git tag |
|
Lister les tags selon un filtre
|
$ git tag -l [pattern] |
|
Voir les informations à propos d'un tag
|
$ git show [tagname] |
|
Créer un tag annoté
|
|
git tag -a [tagname] -m "[message]"`
|
|
Créer un tag simple
|
$ git tag [tagname] |
|
Taguer des commit précédents
|
$ git tag -a [tagname] [checksum commit] |
|
Transférer un tag sur un dépôt distant
|
$ git push [shortname] [tagname] |
|
Transférer tous les tags sur un dépôt distant
|
$ git push [shortname] --tags |
|
Récupérer les fichiers correspondant à un tag => création d'une branche à partir de ce tag
|
$ git checkout -b [branchname] [tagname] |
|
Lister les branches
|
$ git branch |
|
Lister les branches qui sont fusionnées avec la branche courante
|
$ git branch --merged |
|
Lister les branches non fusionnées
|
$ git branch --no-merged |
|
Créer une branche
|
$ git branch [branchname] |
|
Voir sur quelle branche se situe le pointeur de branche (HEAD)
|
git log --oneline --decorate |
|
Changer de branche
|
$ git checkout [branchname] |
|
Créer une branche et se positionner dessus
|
$ git checkout -b [branchname] |
|
Fusionner des branches (à partir de la branche sur laquelle on est)
|
$ git merge [branchname] |
|
Supprimer une branche
|
$ git branch -d [branchname] |
|
Supprimer une branche diatante
|
$ git push [shortname] --delete [branchname] |
# ignorer les fichiers .log sauf le fichier# lib.log .log!lib.log# ignorer les fichiers .tmp dans le dossier# racine mais pas dans les sous-dossiers/.log|
Livre Git Pro (fr) : https://git-scm.com/book/fr/v2
|
|
Livre Git Pro (en) : https://git-scm.com/book/en/v2
|
No comments yet.
Cheatography n. The art of mapping complex subjects into clear, instantly navigable reference guides.