Présentation

Cette page a pour but de donner une liste réduite des commandes utiles à GIT. Espérons que vous ne trouvez pas cela trop grand.

Vous ne trouverez ici que des commandes Ă  taper dans une console.

Configuration de l’utilisateur par dĂ©faut

Configurez votre nom d’utilisateur et votre courriel ainsi :

git config --global user.name "Olivier DOSSMANN"
git config --global user.email git@dossmann.net

Les commandes Ă  ne pas manquer

help, aide sur n’importe quelle commande

Permet Ă  tout moment d’obtenir de l’aide.

git help

clone, récupère le dépôt distant

Récupère un dépôt distant.

git clone git://serveur/projet nom_que_je_veux_lui_donner_en_local

status, information sur le dépôt courant

La commande la plus utilisĂ©e Ă  mon humble avis : elle donne l’Ă©tat du dĂ©pĂ´t quel qu’il soit. C’est Ă  dire l’ensemble des fichiers ajoutĂ©s, inconnus, supprimĂ©s, en conflit, etc.

git status

add, ajouter le fichier au prochain commit

Ajoute un fichier Ă  la liste du ou des prochain(s) “commit” Ă  effectuer.

git add fichier1 fichier2 dossier1 dossier2/fichier4 *.log

commit, valide les modifications

GĂ©nère un commit, c’est Ă  dire un ensemble de modifications effectuĂ©es sur le dĂ©pĂ´t. N’est PAS envoyĂ© sur le dĂ©pĂ´t distant.

git commit

Possèdent quelques options (Cf. git help commit) comme :

git commit -m "Message de commit"

push, envoie les commits

Envoie l’ensemble des commits effectuĂ©s sur le dĂ©pĂ´t.

git push

pull, passe sur un autre arbre

Met Ă  jour l’arbre distant avec l’arbre actuel.

git pull

Un git pull revient Ă  faire ceci :

git fetch origin
git merge origin

commit –amend, j’ai oubliĂ© un truc !

GĂ©nère un commit qui va Ă©craser le prĂ©cĂ©dent ! Très utile quand on s’est trompĂ© dans la description du dernier commit ou que l’on a oubliĂ© un fichier.

git commit --amend

tag, appose une Ă©tiquette

Ajout une étiquette au dépôt actuel.

git tag "0.1" -m "Version 0.1 - Ĺ’il de Lynx"

Ensuite, pour envoyer sur le dépôt distant vos tags, faites :

git push --tags

Améliorer votre utilisation

Informations sur le dépôt distant

git remote show origin

Hash du dernier commit effectué

git rev-parse HEAD

Hash du dernier commit effectué sur le dépôt distant

git rev-parse remotes/origin/HEAD

Créer des raccourcis de commandes GIT

Il suffit d’utiliser la commande git config comme ceci :

git config --global  alias.ci 'commit -a'
git config --global alias.co checkout

Ceci aura pour effet de pouvoir utiliser les commandes git ci et git co Ă  la place, respectivement, de git commit -a et git checkout.

Égayer git avec des couleurs

git config --global color.ui true

Et voilĂ  !

Testez par exemple la commande git log. C’est un peu plus colorĂ© (plus lisible en somme).

Afficher plus de détails aux journaux

git log --stat

Cette commande est assez pratique pour connaĂ®tre les fichiers modifiĂ©s et le nombres de lignes ajoutĂ©es/supprimĂ©es. En somme c’est une mĂ©thode pour mesurer l’importance des modifications sur chacun des commits envoyĂ©s.

Encore plus d’informations sous gitk

cd monprojet.git
gitk --all

Cette commande permet d’afficher un maximum d’informations contenues dans le dĂ©pĂ´t GIT en cours de navigation. C’est très utile pour avoir une vision plus rĂ©elle de ce qu’il s’y passe.

Comment omettre certains fichiers

Il suffit d’Ă©diter le fichier .gitignore se trouvant Ă  la racine de votre dossier personnel. Le remplir est simple : on Ă©dite le fichier et on ajoute, pour chaque ligne, une règle qui va omettre un ou plusieurs fichiers de la zone Ă  rĂ©cupĂ©rer.

Utiliser plusieurs dépôts sans gérer quoique ce soit

Le problème : vous avez un projet que vous envoyez sur :

La solution : ajoutez autant d’option url= dans votre fichier que vous n’avez de dĂ©pĂ´ts.

Par exemple pour le projet Makefly :

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
[remote "origin"]
  url = git@github.com:blankoworld/makefly.git
  url = git@gitlab.com:makefly/master.git
  fetch = +refs/heads/*:refs/remotes/origin/*
Pour envoyer vers bazaar et/ou mercurial, il faut utiliser des ponts comme : git-remote-hg et git-remote-bzr .

Liens utiles