Tuto Git – Installation et configuration de base

« Tuto git », basés sur la pratique. Vous apprendrez de manière progressive à manier les commandes essentielles vous permettant d’être rapidement opérationnels avec cet outil. Il est conseillé de suivre cette serie d’articles dans l’ordre.

  1. Cet article.
  2. Commandes de base de partage de fichiers.
  3. Modification de fichiers sans conflit.
  4. Gérer un conflit de modification simple.
  5. Gérer un conflit de modifications multiples.
  6. Gérer et suivre l’évolution des fichiers et projets.
  7. Utiliser les branches.
  8. Gestion avancée des branches.
  9. Utiliser Git avec eclipse
  10. Utiliser Git avec eclipse: publier, tagger, visualiser
Git est un outil de gestion de code source indispensable pour le développement d’applications logicielles. Ce tuto git basé sur la pratique vous permettra d’installer l’outil de gestion du code source Git et de le configurer correctement sur un système GNU/Linux Ubuntu ou compatible.

1. Rappel à propos des outils gestionnaires de code source.

Ces outils permettent principalement de:
  • Gérer l’évolution des fichiers (texte) de codes sources en gardant leur historique et permettant ainsi de revenir à une version antérieure à tout moment.
  • Gérer deux ou plusieurs branches d’évolution simultanées du projet (ensemble de codes sources) avec la possibilité de les fusionner à tout moment.
  • Partager le même projet entre plusieurs personnes (équipe de développement) sans risque de conflit de modification.
L’ensemble de ces fonctions est souvent appelé « gestion de configuration de logiciels » pour « software configuration management » (SCM). Il existe plusieurs outils libres tel que CVS (outil historique des logiciels libres), SVN, Git, Mercurial..

2. Installation de Git sur un système Ubuntu ou compatibles.

Exécuter la commande:
sudo apt-get install git
Cette installation est valable côté client (machine du développeur), comme côté serveur (machine qui héberge le dépôt des sources). Il s’agit du même ensemble logiciel. Bien entendu la même machine peut servir de client et serveur en même temps mais ce n’est pas la configuration usuelle dans la pratique.

3. Configuration de base côté client.

Dans cette série de tutoriels Git on s’intéressera essentiellement au côté client, c’est à dire le côté du développeur. Le côté serveur est plutôt la charge d’administrateurs système. La configuration par défaut de Git permet un fonctionnement tout à fait correct. Dans la pratique une mise au point est toujours nécessaire pour l’utiliser convenablement.

a. Configuration informative.

Il s’agit de dire à Git de quel développeur il s’agit (nom et adresse email).
git config --global user.name "Monprenom MONNOM"
git config --global user.email moi@meddeb.net
git config: est la commande de configuration de Git. –global : est le paramètre qui permet de manipuler le niveau utilisateur de la configuration.

b. Configuration des fichiers à ignorer.

Dans un projet logiciel certains fichiers ne doivent pas être conservés dans le dépôt de sources. Ces fichiers peuvent etre ceux de la configuration spécifique à un IDE tel que eclipse ou netbeans ou bien les fichiers résultats de la construction tel que les .class ou les .jar … Pour cela créer le fichier de configuration globale .gitignore_global:
vi ~/.gitignore_global
Ce fichier contient une liste de paramètres, un paramètre par ligne. Ces paramètres peuvent être des noms de fichiers, des masques de noms ou des noms de dossiers. Par exemple:
.project
.settings/
*.class
C’est à dire le fichier de configuration du projet eclipse .project, le dossier de configuration eclipse .settings/ et tout fichier java compilé .class. Ensuite exécuter la commande:
git config --global core.excludesfile ~/.gitignore_global
Après cela aucun des fichiers conformes à la configuration ne sera envoyé au dépôt de source , ils seront ignorés. Cette configuration est valable pour tout les projets de l’utilisateur qui l’effectue. Elle peut toutefois être affinée par projet, cela sera traité dans la suite de cette série de tutoriels.]]>