GIT est un petit logiciel de gestion de version libre initialement créé par Linus Torvalds.
La particularité de Git repose sur le fait qu’il n’y a pas besoin de serveur centralisé pour fonctionner. Ainsi, chacun peut disposer d’un dépôt Git sur son PC, et le partager avec ses amis ou le monde entier si il le faut.
Git est un gestionnaire de versions, c’est à dire qu’il est possible de voir tous les changements effectués sur un fichier ou plusieurs fichiers.
Chaque version est commentée pour savoir ce qui a été ajouté / supprimé / modifié. On peut parler de « ChangeLog » (Voir le Glossair’O'Geek).
Découvrez comment mettre en place et utiliser GIT…
| Version n° : | Version du : | Modifications effectuées : |
| 1 | 25/01/2013 | Création initiale du document |
| 2 | 07/03/2013 | MàJ du document – Révision générale |
| Objectif principal : | ||
Apprivoiser & Utiliser GIT |
||
Git utilise un ordre d’exécution des commandes bien définit, qui est fait comme suit :
Lignes de commandegit init --> git status --> (git pull) --> git add --> git commit --> git push ^ ^ git clone___| git merge_________|
Explications :
- Initialisation d’un dossier pour qu’il devienne un dossier Git ;
- On clone (si besoin est) pour rapatrier un dossier distant ;
- « Check » : vérifier si il y a de mises à jour récentes sur les fichiers ;
- Si besoin, l’option « pull » permet de mettre à jour le dépôt & donc les fichiers ;
- Ajout de notre / nos fichier(s) (de la version locale des fichiers donc) ;
- Ecriture du « commentaire » quant aux modifications effectuées ;
- Puis envoi sur le serveur distant (commit + fichier(s)).
Le principe de Git est assez simple : On récupère des fichiers d’un serveur distant, on les stock sur notre PC en local, on y apporte nos modifications, on commente ce que l’on a fait, puis on envoi le tout sur le serveur.
I. Paramétrage / Personnalisation de base – GIT
1°) Identité personnelle
Par défaut, Git ne sera pas configuré pour votre propre identité. Une identité banale sera utilisée à la place, vous permettant d’utiliser le logiciel.
Nous allons donc le personnaliser un minimum pour avoir notre réelle identité à l’écran d’une part, mais aussi changer l’éditeur de texte lors de l’écriture des commit (les commentaires).
Deux lignes sont à écrire pour modifier l’identité. Nous allons changer le paramètre des e-mails d’un part, et de l’autre notre nom complet. (Naturellement, vous devez modifier les champs « julien@idealogeek.fr » & « Julien HOMMET » avec VOTRE identité)
Lignes de commandegit config --global user.email julien@idealogeek.fr git config --global user.name "Julien HOMMET"
2°) Changer l’éditeur de commentaires par défaut
Une autre étape est à effectuer pour modifier l’éditeur par défaut –> Lors des commit, les commentaires, l’éditeur de texte « Vi » sera utilisé. Il est possible d’utiliser un autre éditeur de textes si vous êtes plus habile avec un autre.
Lignes de commandegit config --global core.editor "nano"
La commande est assez explicite : Vous changer l’éditeur par « Nano » dans le core de Git, pour que la config soit répertoriée & utilisable partout.
Naturellement vous pouvez changer « Nano » par « Emacs », « Vim », ou encore « Gedit » & tout autre éditeur de textes…
II. GIT – Utilisation
1°) Initialiser un dossier & recevoir les données
Pour nos premiers essais, nous allons juste créer un dossier accueillant des fichiers que nous allons prendre d’un dossier distant. Par conséquent, il faut qu’un dossier / serveur soit déjà paramétré pour autoriser ce type de partage.
Nous commençons déjà par créer un dossier, et se placer dedans.
Lignes de commandesudo mkdir /home/<user>/Documents/depot-git cd /home/<user>/Documents/depot-git
Une fois le dossier créé, il faut l’initialiser pour qu’il puisse « se découvrir » & se configurer comment étant un dépôt Git. Ainsi, il sera possible de recevoir & d’envoyer des données à partir de ce dossier en utilisant Git, vers un autre dépôt Git.
Il faut utiliser la commande « git init » dans le dossier qui recevra les fichiers spécifiques.
Lignes de commandegit init Initialized empty Git repository in /home/<user>/Documents/depot-git
Une petite phrase accompagne la commande pour vous avertir que le dossier a bien été initialisé comme étant un « dossier Git vide », suivit du chemin du répertoire.
Le dossier initialisé, il est maintenant prêt à recevoir les fichiers. La commande pour recevoir ces fichiers en question est « git pull« , suivit des identifiants & de l’adresse du dossier distant à réceptionner.
Il existe 2 types de liens pour les dossiers distants à utiliser pour Git :
- Avec des chemins HTTPS ; –> « https://127.0.0.1/dossier/distant/tpgit.git«
- Avec des connexions SSH ; –> « ssh://user@127.0.0.1/dossier/git/distant/«
Dans notre exemple, nous utiliserons principalement la connexion SSH, notamment par soucis de sécurité.
Le dossier étant maintenant initialisé comme un dépôt Git, il faut maintenant rapatrier les documents dans ce dossier. La commande utilisée sera donc « git pull« , suivi de l’identifiant de connexion & du serveur. Soit :
Lignes de commandesudo git pull ssh://user@server/dossier/git/a/recupérer /home/<user>/depot-git
Git va alors rapatrier tous les documents distants du dossier « Git » distant dans notre dossier local. Selon la taille des dossiers à répertorier, le téléchargement peut prendre plus ou moins de temps.
Une fois le téléchargement terminé, un message devrait apparaître :
Already Up-to-Date
Le dossier est maintenant prêt à être utilisé : Les fichiers distants sont rapatriés, bénéficiant des dernières versions révisées. Il ne reste plus qu’à apporter nos modifications !
2°) Quelques commandes / opérations à savoir…
a) Statut du serveur / dossiers & fichiers distant
Le dossier étant maintenant en local, il est maintenant possible d’y effectuer certaines opérations dites de base ». Tout d’abord, il faut commencer par afficher le « status » du dossier, pour savoir les modifications effectuée à jusqu’à l’instant T. La commande à lancer est donc :
Ligne de commandegit status
En lançant la commande, 2 parties distinctes sont présentes :
- Partie « Fichiers modifiés & ajoutés » (Zone n°1 – » On branch Master | Changes not staged for commit » ;
- Dans la première zone, tous les fichiers étant déjà « ajoutés », « supprimés », ou « mergés » (fusionnés), donc les fichiers déjà placés « dans la file » pour être envoyés sur le serveur.
- Partie « Fichiers modifiés localement & en attente » (Zone n°2 – « Untracked Files »).
- La seconde zone comporte tous les fichiers étant encore « en attente », c’est à dire les fichiers qui ne sont pas ajoutés / supprimés / mergés dans la file d’attente de Git. Cependant, ils sont peut être déjà modifiés localement.
b) Mise à jour de notre dossier local
Le statut effectué, il faut mettre à jour les fichiers qui doivent l’être ; La commande a exécuter est la suivante :
Lignes de commandegit pull
Le gestionnaire de version va alors se connecter au serveur distant, vérifier d’un côté si les fichiers ont été modifiés, et de l’autre si les fichiers locaux sont à modifier. Si des modifications doivent être effectuées, « git pull » exécutera les actions nécessaires.
c) Ajout d’un ou plusieurs fichiers à envoyer
La mise à jour effectuée, il nous faut maintenant ajouter nos fichiers locaux modifiés dans la file d’attente pour les envoyer plus tard sur le serveur.
La commande a utiliser s’intitule « git add »
Lignes de commandegit add fichier1
Lignes de commandegit pull fichier1 fichier2 fichier3
Une fois les fichiers ajoutés, il n’y aura pas d’affichage spécifique. Le terminal ne bougera pas, n’affichera pas de message ou autre.
d) Commentaire des modifications effectuées
Vous devez maintenant passer à l’étape du « commitage ». Cet étape est nécessaire, dans le cadre où vous devez écrire les modifications que vous avez effectués. On peut parler d’une « signature de modifications ».
La commande à utiliser est :
Lignes de commandegit commit
Lorsque vous entrez cette commande, votre éditeur de textes favori va alors s’ouvrir, et reprendre au début du commentaire tous ce qui est contenu dans « git status » à l’instant T présent.
Ainsi, vous vous retrouverez avec un commentaire déjà pré-formé, contenant les informations du « git status ». Un espace tout en haut vous permettra d’ajouter vos propres commentaires.
Lignes de commandegit config --global core.editor "emacs"
Vous pouvez remplacer « emacs » par « Vim », « Nano », ou autre.
Lorsque votre commentaire est terminé, enregistrez-le, & fermez-le. Il sera automatiquement mit lui aussi dans la file d’attente d’envoi de fichiers.
e) Envoi des fichiers
La dernière étape est maintenant au bout de vos doigts ! Vous n’avez plus qu’à envoyer les fichiers modifiés & le commit sur le serveur distant, pour que vos collègues puissent en bénéficier !!
Lignes de commandegit push
La commande est simple, ce qui est un avantage indéniable !
Elle permet d’envoyer tout sur le serveur précédemment configuré.
2 types de messages peuvent survenir :
- Réussite de l’envoi –> Rien à faire de plus, vous pouvez quittez le terminal
- Echec de l’envoi –> Un message d’avertissement pourra vous dire quel a été le problème rencontrer. N’hésitez pas à utiliser le forum pour nous en parler !
Vous avez maintenant les bases pour utiliser GIT du côté utilisateur !
Envie d’aller encore plus loin ? Visualiser votre dépôt Git avec une interface graphique, grâce à Gitg !


- Remarques & commentaires -