GIT est le système de contrôle de version distribué le plus polyvalent.
La façon dont GIT suit et gère les modifications de fichiers est très efficace et différente de la façon dont les autres logiciels de contrôle de version suivent les modifications (y compris CVS et Subversion).
Cet article est destiné à ceux qui découvrent GIT. Il s'agit d'un guide de démarrage qui vous montrera comment installer GIT à partir des sources, créer un nouveau projet, valider les modifications dans le référentiel GIT.
Si vous avez une formation CVS/SVN, vous êtes habitué au modèle client-serveur, où le référentiel est installé sur un serveur, et vous utiliserez un client pour télécharger le projet depuis le référentiel, apporter des modifications et le valider dans le référentiel du serveur.
GIT n'utilise pas le modèle client-serveur. Lorsque vous téléchargez un projet à partir d'un référentiel GIT distant, vous téléchargez tout, y compris l'historique des versions et les modifications des fichiers individuels, et votre GIT local agit comme un serveur, où vous pouvez effectuer l'enregistrement, l'extraction et tous les autres activités typiques de contrôle de version. Plus tard, lorsque vous serez prêt, vous pourrez fusionner vos modifications dans le référentiel GIT distant.
Ainsi, les étapes d'installation et de configuration sont exactement les mêmes, que vous utilisiez GIT sur votre machine locale, pour gérer votre propre projet, ou que vous installiez GIT sur un serveur, à partir duquel d'autres développeurs téléchargeront le projet dans leurs référentiels GIT locaux.
Si vous êtes développeur, vous souhaiterez peut-être installer GIT sur votre machine locale pour deux raisons :1) Vous aimez gérer votre propre projet localement à l'aide d'un outil de contrôle de version 2) Vous souhaitez modifier un code situé dans un centre distant Référentiel GIT.
Si vous êtes un administrateur système, vous souhaiterez peut-être installer GIT sur un serveur afin qu'il agisse comme un référentiel central contenant tout le code source de votre entreprise. À partir de là, vous pouvez autoriser les développeurs à télécharger les projets dans leurs référentiels GIT locaux, à apporter des modifications et à revenir dans votre référentiel central lorsqu'ils ont terminé.
Quelle que soit la manière dont vous envisagez d'utiliser GIT, les étapes d'installation et les commandes de base mentionnées ci-dessous sont exactement les mêmes.
1. Téléchargez et installez GIT
Tout d'abord, téléchargez le GIT à partir d'ici. Ou téléchargez-le directement en utilisant wget comme indiqué ci-dessous.
cd wget http://kernel.org/pub/software/scm/git/git-1.7.6.tar.bz2
Ensuite, extrayez le fichier téléchargé.
tar xvfj git-1.7.6.tar.bz2 cd git-1.7.6
Enfin, installez GIT comme indiqué ci-dessous en utilisant l'option de configuration par défaut. Si vous souhaitez personnaliser l'installation, faites « ./configure –help » pour afficher toutes les options de configuration disponibles.
./configure make make install
2. Configuration initiale
Git est installé par défaut sous /usr/local/bin. Une fois que vous avez installé GIT, vérifiez-le comme indiqué ci-dessous.
$ whereis git git: /usr/local/bin/git $ git --version git version 1.7.6 $ git --help.
La première étape consiste à spécifier votre nom d'utilisateur et votre adresse e-mail dans votre référentiel GIT à l'aide de "git config" comme indiqué ci-dessous.
git config --global user.name "GIT Admin" git config --global user.email [email protected]
Vérifiez les informations de configuration de git comme indiqué ci-dessous.
$ git config --list user.name=GIT Admin [email protected] core.repositoryformatversion=0 core.filemode=true core.bare=false core.logallrefupdates=true
Ces informations sont stockées dans le fichier .gitconfig sous votre répertoire personnel.
$ cat ~/.gitconfig [user] name = GIT Admin email = [email protected]
3. Créer un projet
Vous pouvez faire de n'importe lequel de vos répertoires locaux un projet GIT (c'est-à-dire un référentiel). Par exemple, si votre projet se trouve sous /home/ramesh/projects/passworddragon, vous pouvez en faire votre projet GIT. Tout d'abord, accédez à ce répertoire et exécutez git init comme indiqué ci-dessous.
$ cd /home/ramesh/projects/passworddragon $ git init Initialized empty Git repository in /home/ramesh/projects/passworddragon/.git/
Cela créera un répertoire .git sous votre dossier de projet. Voici le contenu du répertoire .git. GIT utilise ce répertoire pour stocker des informations sur la façon dont il suit les modifications.
$ ls -altr .git total 40 drwxrwxr-x 4 git git 4096 Aug 13 22:39 refs drwxrwxr-x 4 git git 4096 Aug 13 22:39 objects drwxrwxr-x 2 git git 4096 Aug 13 22:39 info drwxrwxr-x 2 git git 4096 Aug 13 22:39 hooks -rw-rw-r-- 1 git git 23 Aug 13 22:39 HEAD -rw-rw-r-- 1 git git 73 Aug 13 22:39 description -rw-rw-r-- 1 git git 92 Aug 13 22:39 config drwxrwxr-x 2 git git 4096 Aug 13 22:39 branches drwxrwxr-x 36 git git 4096 Aug 13 22:39 .. drwxrwxr-x 7 git git 4096 Aug 13 22:39 .
Remarque :Si vous êtes administrateur système, et que vous essayez de créer un référentiel central GIT pour votre entreprise, à partir duquel les développeurs peuvent télécharger les projets, vous pouvez créer un nom d'utilisateur appelé "git" et organiser tous vos projets sous ce compte. Par exemple :/home/git/project1, /home/git/project2, etc. Une fois que vous avez organisé le projet, accédez au répertoire du projet et faites "git init" à partir de là en tant qu'utilisateur git.
4. Ajouter et valider des fichiers dans le projet
Une fois que vous avez initialisé le projet à l'aide de "git init", ajoutez les fichiers situés sous ce répertoire de projet, à l'aide de "git add".
S'il existe différents types de fichiers dans votre répertoire de projet et que vous souhaitez que GIT ne gère que certains types de fichiers, ajoutez uniquement ceux-ci au GIT, comme indiqué ci-dessous. Cet exemple ajoute uniquement les fichiers *.java et *.c.
git add *.java git add *.c
En règle générale, vous souhaitez ajouter tous les fichiers du répertoire du projet au projet GIT. Faites simplement "git add .", ce qui ajoutera tous les fichiers du répertoire courant et tous les sous-répertoires au projet GIT.
git add .
Une fois que vous avez ajouté les fichiers au référentiel, vous devez valider ces fichiers, comme indiqué ci-dessous.
$ git commit -m 'Initial upload of the project' create mode 100755 PasswordDragon.java create mode 100755 pwm/ui/DataManager.java create mode 100755 pwm/ui/PasswordFrame.java create mode 100755 pwm/tools/StrongEncryption.java create mode 100755 pwm/tools/PasswordStrength.java ..
Si vous n'avez pas spécifié votre nom d'utilisateur et votre adresse e-mail à l'aide de "git config" comme expliqué ci-dessus, vous obtiendrez le message d'erreur suivant.
$ git commit -m 'Initial upload of the project' *** Please tell me who you are. Run git config --global user.email "[email protected]" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository. fatal: empty ident not allowed
5. Apporter des modifications et valider le fichier
Vous avez installé GIT, créé un référentiel de projet, engagé tous les fichiers dans le projet GIT.
Il est maintenant temps de commencer à apporter des modifications à un fichier et de le valider dans le référentiel.
vi PasswordDragon.java
Une fois que vous avez modifié un fichier localement, vous pouvez afficher les modifications. c'est-à-dire la différence entre votre copie locale et la copie déjà validée dans le projet GIT en utilisant "git diff" comme indiqué ci-dessous.
$ git diff diff --git a/PasswordDragon.java b/PasswordDragon.java index 6166ed1..fd82d32 100644 --- a/PasswordDragon.java +++ b/PasswordDragon.java @@ -2,7 +2,7 @@ - public counter=10 + public counter=55
Une fois que vous y avez apporté des modifications, examiné les modifications et que vous en êtes satisfait, vous pouvez valider le fichier dans le référentiel GIT. Il s'agit d'un processus en deux étapes. Tout d'abord, vous devez ajouter le fichier à la zone de préparation et valider le projet GIT comme indiqué ci-dessous.
git add PasswordDragon.java
Lorsque vous effectuez une validation, votre éditeur par défaut s'ouvre, dans lequel vous pouvez saisir le commentaire. Une fois que vous avez enregistré votre commentaire et quitté l'éditeur, il validera le fichier dans le projet GIT et affichera le message suivant.
$ git commit [master 80f10a9] Added password strength meter functionality 1 files changed, 56 insertions(+), 7 deletions(-)
Remarque :Vous pouvez également faire "git commit -a", qui effectuera l'ajout et la validation en même temps.
6. Afficher les journaux d'état et de validation
Depuis votre référentiel local, lorsque vous effectuez « git status », il affichera l'état actuel. Lorsque la copie locale n'est pas modifiée (ou lorsque tous les fichiers sont validés), vous verrez le message suivant.
$ git status # On branch master nothing to commit (working directory clean)
Si vous avez apporté des modifications à un fichier et que vous n'avez pas encore validé, vous verrez le message suivant.
$ git status # On branch master # Changes not staged for commit: # (use "git add ..." to update what will be committed) # (use "git checkout -- ..." to discard changes in working directory) # # modified: PasswordDragon.java # no changes added to commit (use "git add" and/or "git commit -a")
Vous pouvez également afficher l'historique d'un fichier comme indiqué ci-dessous.
$ git log PasswordDragon.java commit c919ced7f42f4bc06d563c1a1eaa107f2b2420d5 Author: GIT Admin Date: Sat Aug 13 22:54:57 2011 -0700 Added password strength meter functionality commit c141b7bdbff429de35e36bafb2e43edc655e9957 Author: GIT Admin Date: Sat Aug 13 20:08:02 2011 -0700 Initial upload of the project