Voici un petit résumé de l'usage que j'en fais, mais toute la documentation peut se trouver
ici.
1. Résumé de quelques commandes
Créer un nouveau repository - git init : crée un repository dans le répertoire courant.
- git init --bare : crée un repository dans le répertoire courant, mais ce sera un repository d'échange, c'est-à-dire que le contenu habituel du
.git/
sera entièrement contenu dans le répertoire courant..
- git clone src dst : clone le repository localisé dans le répertoire src vers le répertoire dst.
Commiter les modifications - git add files : ajoute un ou plusieurs fichiers dans le stage, la zone depuis laquelle on peut faire des commits.
- git commit files : commit sur un ou plusieurs fichiers.
- git commit -a -m "message" : idem, mais évite d'appeler git add avant.
Branches - git branch : affiche la liste des branches locales.
- git branch -a : affiche toutes les branches, même les celle en remote.
- git checkout -b branch_name : crée une branche nommée branch_name à partir de la branche courante.
- git branch -d branch_name : supprime la branche nommée branch_name.
- git checkout branch_name : switch sur la branche branch_name.
- git checkout branch_name origin/branch_name : switch sur la branche branch_name qui se synchronise avec la branche remote.
Merge - git merge branch_name : Fusionne dans la branche courante les modifications issues de la branche branch_name.
Remote - git remote add name path : ajoute une référence sur un repository distant qui sera appelé name en local et qui est physiquement placé en path.
- git push name : pousse les modifications locales vers un repository distant.
- git pull name : merge les modifications d'un repository distant sur le local.
2. Exemple : utilisation nomade
Supposons que vous êtes un grand voyageur qui a accès à différents ordinateurs et souhaiterait pouvoir emporter son travail partout. Pour cela, vous allez utiliser GIT et une clef USB.
Pour commencer, il faut créer un
repository GIT sur votre machine d'origine, que nous appelerons
A et qui possède le projet que vous voulez emporter partout. Pour cela, commencez par fair eun peu de ménage en supprimant tous les fichiers qui ne peuvent pas être reconstruit à partir des sources :
*.bak
,
*.o
,
*.class
, ... Et pour être sûr que GIT ne les ajoutera pas dans le
repository, créez un fichier
.gitignore
dans le répertoire de base de votre projet et mettez-y ceci, pour commencer :
Vous pouvez aussi demander à GIT d'ignorer des répertoires entier avec :
Et on peut même spécifier des exceptions. Par exemple, si vous voulez ignorer les exécutables, sauf l'outil
builder.exe
, vous pouvez écrire ceci :
La deuxième étape consiste à créer le
repository à l'aide des commandes suivantes qui doivent être appliquée dans le répertoire racine de votre projet :
git init
git config --global user.name "Joe Trailer"
git config --global user.email joe.trailer@trail-passion.net
git add .
git commit -a -m "Premier commit du projet."
Bravo ! Vous avez fait le plus dur. Maintenant, on va cloner ce
repository sur les différents supports avec lesquels on veut synchroniser nos sources. Cette étape aussi n'est qu'à faire qu'une seule fois. Commençons par la clef USB qui sera ce que vous transportez physiquement.
Créez sur votre clef USB un répertoire devant contenir le
repository de votre projet. Puis tapez la commande suivante :
git clone --bare RepertoireDuProjetSurA RepertoireDuProjetSurUSB
Biensûr, il faut remplacer
RepertoireDuProjetSurA par le répertoire racine de votre projet sur la machine
A et
RepertoireDuProjetSurUSB par le répertoire réservé à cet effet sur la clef USB. L'option
--bare
sert à dire que ce
repository est spécial : on ne va pas développer directement dedans, il ne servira qu'aux transferts.
Il reste à indiquer à votre
repository local qu'il existe un
repository distant sur la clef USB. Placez-vous dans le répertoire local et tapez la commande suivante :
git remote add origin RepertoireDuProjetSurUSB
Voilà, vous êtes prêt à voyager. Juste avant de partir, il vous faut synchroniser votre clef USB. Comme vous avez fait des modifications sur
A, il faut faire un commit et un push.
git add .
git commit -a -m "Mes modifs... Blablabla."
git push origin
Vous voilà arrivé à destination sur une machine B. Commencez par créer un répertoire de travail pour y entreposer un nouveau
repository local. Placez-vous dedans et tapez les commandes suivantes :
git init
git remote add origin RepertoireDuProjetSurUSB
git pull origin
git checkout -b master origin/master
Vous savez maintenant créer un repository GIT à partir de rien ou à partir de la clef USB. Tout est bien configuré, vous entrez maintenant dans la phase routinière. Quand vous devez vous déplacer d'une machine X vers une machine Y, il faut faire ceci :
- Sur la machine X :
git add .
git commit -a -m "Mes modifs... Blablabla."
git push origin