Objectif: Publier un projet sur un serveur distant avec Git sous eclipse. Pouvoir poser des tags et consulter l’historique et les paramètres du projet avec cet outil. Pré-requis: Fonctionnement de Git et l’article précédent à propos de l’utilisation de Git avec eclipse.
1. Créer le dépôt du projet calcul sur le serveur.
Conformément à l’environnement de simulation mis en place dans cette serie d’articles sur Git, on crée le dépôt du projet “calcul” du côté serveur. Cette étape ne concerne pas l’utilisateur de Git mais plutôt un administrateur système. D’un autre côté, dans un environnement réel elle s’effectue sur une machine serveur distante, le plus souvent accessible via HTTP par les utilisateurs.cd /serveurgit git init --bare calcul.gitCeci créee le dépôt Git du projet dans le dossier /serveurgit/calcul.git/. Cette mise en place nous permettra de nous servir de ce dépôt pour simuler la publication du projet sur un serveur distant.
2. Publier le projet dans le dépôt du serveur.
Jusqu’à présent les “commit” effectués (cf. article “Git avec eclipse“), l’ont été dans le dépôt local sur la machine du développeur. Pour partger ce projet avec d’autres développeurs, il convient de le publier dans le dépôt distant (remote) du serveur. Pour le faire avec Git sous eclipse il faut sélectionner le projet dans l’explorateur (volet par défaut situé à gauche) et ensuite utiliser le menu contextuel (Click avec le bouton droit de la souris). Utiliser le menu: Team / Push branch master. Ceci conduit à l’assistant de publication: Le dossier qui simule le dépôt du serveur étant local en réalité, nous utilisons le bouton “Local File..“. Il nous permettra de sélectionner facilement l’emplacement du dépôt à utiliser, c’est à dire “/serveurgit/calcul.git“. Ceci alimentera les champs “URI” et “Repository path” sans saisie. Le champ “Remote name” doit être gardé à sa valeur par défaut: “origin“, c’est une convention de Git de nommer le dépôt distant ainsi et il vaut mieux la garder. A ce sujet, il convient de noter qu’en réalité le serveur distant est accessible généralement par le protocole HTTP (tel que https://github.com/ameddeb/japptools.git) ou le protocole propre à git (tel que git://github.com/ameddeb/japptools.git). Le paramétrage utilisé est dicté par la situation de simulation uniquement. Après la saisie, le bouton “Next” permet de passer à l’étape suivante. Les valeurs par défaut sont convenables, on les garde et on utilise le bouton “Next” pour passer à l’étape suivante. On utilise le bouton “Finish” pour finaliser la publication. A ce stade le dernier commit du projet est publié sur le serveur.3. Poser un Tag dans le projet.
Avant de poser un Tag, qui constitue généralement un marquage pour une version du projet, nous allons faire évoluer le fonctionnement. Pour cela on effectue la modification suivante dans le fichier App.java:public static void main( String[] args ) { System.out.println( "125 x 3 = " + 125*3 ); }On remplace simplement l’affichage de “Hello world!” par le calcul de la multiplication. Ensuite, après avoir exécuté avec succès le nouveau code et surtout pas avant, comme c’est malheureusement la cas souvent dans la réalité de tous les jours, on valide (commit) la modification dans le dépôt local. On utilise le bouton “Commit” après avoir indexé le projet et saisie le message. Suite à cela on va ajouter un calcul d’addition au projet:
System.out.println( "450 + 343 = " + (450 +343) );De la même manière que pour la multiplication, on valide (commit) également cette nouvelle modification en adaptant le message. Maintenant que le projet est suffisamment évolué, on se propose de poser un Tag de version “v1.0“. Pour cela on utilise le menu contextuel du projet calcul: Team / Advanced / Tag.., Ce menu donne accès à l’écran de création de Tag: Dans cet écran, on saisie le Tag (Tag name), le message qui l’accompagne (Tag message) et ensuite on utilise le bouton “Create Tag” pour le créer effectivement. Remarquer toutefois la présence du bouton “Create Tag and Start Push” qui permet de créer le Tag et de publier sur le serveur distant en même temps.