Table of Contents

Généralités

Git est un outil de gestion de versions décentralisé. C'est un logiciel libre créé par Linus Torvald, le créateur du noyau Linux, et distribué sous la GNU GPL v2.

Obtenir de l'information

man git
git <commande> --help

Installation serveur Subversion

Configuration

Configuration générale

FIXME à compléter avec fichiers de configurations réels.

Emplacement Fonction
/etc/… blabla

Configuration spécifique

Utilisation habituelle

Utilisation simple

git add nomfic #ajout dans git ou déclaration de modification d'un fichier.
git commit #valider notre travail (en local) en mettant un commentaire clair et précis.
git status #vérifier si fichier modifie ou non.
git log #vérifier la liste des commit.
git push #envoyer les commit locaux au serveur distant.

Utilisation avec 2 machines ou en projet en équipe

git status
git branch -a
cat .git/config
git log --pretty=oneline
git fetch origin #récuperation des fichiers sans être applique positions a côté pour pouvoir faire des diffs.
git log ..origin/master
git diff ..origin/master #différence entre ce qu'on a et les modif rapatriées.
git rebase origin/master #fusion en local de nos modifs et de celle qu'on a rappatriées.

Créer un répertoire GIT

mkdir repertoiregit
cd repertoiregit
git init #créer le dossier .git avec les informations de bases.

Commandes qui configurent le fichier ''/home/userdebase/.gitconfig''

git config --global user.name "Romain BERTHAUD"
git config --global user.email romainberthcom@gmail.com

Supplément possible.

git config --global color.branch auto
git config --global color.diff auto
git config --global color.status auto

Commandes qui configurent le fichier ''repertoireGIT/.git/config''

git remote add origin git@bolivar.itaapy.com:romain.berthaud.git
git config --add remote.origin.push '+refs/heads/*:refs/heads/*'

Inventaire des principales commandes

Récupérer la totalité du contenu d'un projet git distant dans un répertoire local.

git clone git@bolivar.itaapy.com:romain.berthaud

Voir les branches locales et celles en cours d'utilisation.

git branch

Voir les branches distantes.

git branch -r

Mettre a jour la branche

git fetch origin #updates your copy of the origin branches
git log master..origin #what is the difference between your local branch master and the origin master branch

Changer de branche pour une autre (ici se positionner sur la 0.15)

git checkout 0.15

Synchroniser avec le trunk.

git rebase origin

Vérifier les différences entre deux fichiers avant de commiter.

git diff

Supprimer un fichier versionné (ca le supprime aussi en même temps).

git rm

Renommer un fichier versionné.

git mv

Problème de fichier

Enlever des messages a cause d'un soucis (ex : suppression d'un fichier sans la commande git rm).

git commit -a -amend #recommit avec le dernier commit sans les erreurs
git push -f #forcer le commit parce qu'il y aura une version differente sur le git du serveur