Pages enfant
  • 06 - Git (esup 4)

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=259096667) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 29) afficher la version suivante »

Préambule

Cette documentation est complémentaire à la documentation d'installation qui est à destination de l'exploitant.

Elle permet d'installer, configurer, versionner et mettre à jour le package ESUP au travers de GIT.

 

Deux tutoriels très détaillés et en Français (www.siteduzero.com et git-scm.com) sont utilisés dans la présente page. Des liens plus précis sont cependant listés.

Voici le lien du projet : https://github.com/EsupPortail/esup-uportal

À partir du lien ci-dessus, vous trouverez toutes les informations pour personnaliser les commandes des tutoriels ci-dessous.

 

Bonnes pratiques

Jasig décrit ici les bonnes pratiques d'utilisation de Git. On y trouve notamment le worklow à suivre pour faire une PR via un fork plutôt que sur le master.

 

Débutant :

Débutant ++ :

1 - Installer GIT ?

Objectif

Installer les outils nécessaires à Git.

Commande
CentOs
sudo yum install git gitk gitg
Debian
sudo apt-get install git-core gitk gitg

http://windows.github.com/ (Windows)

Résultat attendu

Application cliente installée.

Documentation

www.siteduzero.com - git-scm.com

2 - Régler le proxy (si nécessaire) ?

Objectif

Permettre la communication avec GitHub.com.

Commande

Exécuter Git Shell (Windows)

Unix & Windows
git config --global http.proxy http://<LOGIN>:<PASSWORD>@<PROXYADDRESS>:<PORT>
Résultat attendu

Pas de blocage de communication de la part du proxy.

Documentation

https://gist.github.com/336211

3 - Cloner ?

Cloner : télécharger sur son poste

Objectif

Préparer le déploiement de la nouvelle version dans son établissement en récupérant l'avant dernier tag.

Commande
Unix & Windows
git clone https://github.com/EsupPortail/esup-uportal.git
Résultat attendu
Sortie de console
Cloning into 'esup-uportal'...
remote: Counting objects: 157549, done.
remote: Compressing objects: 100% (42597/42597), done.
remote: Total 157549 (delta 90619), reused 155749 (delta 89147)
Receiving objects: 100% (157549/157549), 129.96 MiB | 1.11 MiB/s, done.
Resolving deltas: 100% (90619/90619), done.
Checking out files: 100% (3263/3263), done
Pour connaitre la liste des tags disponibles :

 

Unix & Windows
git tag
Sortie de console
...
trunk-pre-pluto_1.1
umobile-1.0.0
umobile-1.0.0-RC1
umobile-parent-1.0.0-RC1-SNAPSHOT
umobile-server-1.1-RC1
uportal-3.2.5
uportal-4.0.0
uportal-4.0.0-RC1
uportal-4.0.0-RC2
uportal-4.0.1
uportal-4.0.2
uportal-4.0.3
uportal-4.0.4
uportal-4.0.5
uportal-4.0.6
uportal-4.0.6.SR1
uportal-4.0.7
uportal-4.0.8
uportal-4.0.8-esup-0-avant-presta-1

Copiez le nom de la version désirée (afin de ne pas récupérer la version en cours de développement).

Pour récupérer la version choisie :

Unix & Windows
git checkout <nom_version>
Sortie de console
Note: checking out 'uportal-4.0.8-esup-0-avant-presta-1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
HEAD is now at 7b39fed... README -> README-JASIG ; README.esup -> README
Documentation

www.siteduzero.com - git-scm.com

4 - Faire une branche ?

Objectif

Conserver les personnalisations inhérentes à son établissement.

Commande

Se placer dans le répertoire du projet (Master)

Unix & Windows
git checkout -b ent-monuniv
Résultat attendu
Sortie de console
Switched to a new branch 'ent-monuniv'
Documentation

www.siteduzero.com - git-scm.com

5 - Passer d'une branche à une autre ?

Objectif

Changer de configuration.

Commandes
Unix & Windows
git checkout master
  ou
git checkout ent-monuniv
Résultat attendu
Sortie de console
Switched to branch 'master'
Switched to branch 'ent-monuniv'
Documentation

www.siteduzero.com - git-scm.com

6 - Commiter des configurations dans sa branche ?

Objectif

Effectuer une modification, sauvegarder (en local, pas sur le serveur) les modifications de configurations effectuées.

Exemple avec une modification du fichier esup.properties :

Commandes
Unix & Windows
git add <Path>/filters/esup.properties
git commit -m "Changement de connecteur" <Path>/filters/esup.properties
Résultat attendu
Sortie de console
[ent-monuniv a82e27f] Changement de connecteur
1 file changed, 0 insertions(+), 0 deletions(-)
rewrite <Path>/filters/esup.properties(78%)
Documentation

www.siteduzero.com - git-scm.com

7 - Mettre à jour la dernière version du portail ?

Objectif

Mettre à jour le master en vue de la mise à jour de la branche.

Commande

Se placer dans le répertoire du projet (Master)

Unix & Windows
git pull
Résultat attendu
Sortie de console
Already up-to-date.
  ou
Les fichiers mis à jour.

Cette commande permet d'avoir la version la plus à jour du projet.

Pour obtenir une version spécifique de l'application (dernière version stable) :

Unix & Windows
git tag
Sortie de console
...
trunk-pre-pluto_1.1
umobile-1.0.0
umobile-1.0.0-RC1
umobile-parent-1.0.0-RC1-SNAPSHOT
umobile-server-1.1-RC1
uportal-3.2.5
uportal-4.0.0
uportal-4.0.0-RC1
uportal-4.0.0-RC2
uportal-4.0.1
uportal-4.0.2
uportal-4.0.3
uportal-4.0.4
uportal-4.0.5
uportal-4.0.6
uportal-4.0.6.SR1
uportal-4.0.7
uportal-4.0.8
uportal-4.0.8-esup-0-avant-presta-1

Repérer la dernière version stable et copier son nom.

Pour récupérer la version choisie :

Unix & Windows
git checkout <nom_version>
Sortie de console
Note: checking out 'uportal-4.0.8-esup-0-avant-presta-1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
HEAD is now at 7b39fed... README -> README-JASIG ; README.esup -> README
Documentation

www.siteduzero.com

8 - Faire un merge sur un tag EsupPortail (montée de version sans conflit) ?

Objectif

Conserver la configuration malgré la montée de version.

Commandes

Commiter les fichiers modifiés avant de faire le merge.

Se placer dans la branche que l'on souhaite mettre à jour

Unix & Windows
git checkout ent-monuniv

Pour obtenir une liste des tags de l'application :

Unix & Windows
git tag

Noter le tag de la version désirée :

Unix & Windows
git merge <tag>
Résultat attendu
Sortie de console
 Updating c6499c1..a82e27f
Fast-forward
README | Bin 3228 -> 3317 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
Documentation

www.siteduzero.com

9 - Réaliser un merge en cas de conflit sur un fichier ?

Objectif

Gérer les erreurs de l'étape 8 ci-dessus.

Commandes

Éditer le fichier conflictuel avec l'éditeur associé. Repérer la section ressemblant à ceci :

Fichier en conflit
...
<<<<<<< HEAD:index.html
<div id="footer">contact : email.support@github.com</div>
=======
<div id="footer">
  please contact us at support@github.com
</div>
>>>>>>> prob53:index.html
...

Il faut remplacer l'ensemble de cette section (y compris <<<<<<<, ======= et >>>>>>>) par ce qui est désiré dans le fichier.

Résultat attendu
Fichier mergé
...
<div id="footer">
  please contact us at email.support@github.com
</div>
...
Documentation

git-scm.com

10 - Comparer 2 branches ?

Objectif

Comparer les configurations de deux établissements.

Commandes

Consulter les tags et copier les noms des deux tags que l'on souhaite comparer :

Unix & Windows
git tag
Unix & Windows
git diff tag1 tag2
Résultat attendu
...
 $portalBarFontSize                             : 100%;
 $portalBarTextAlign                            : right;
-$portalBarTextTransform                        : capitalize;           # ce qui est supprimé
+$portalBarTextTransform                        : none;                 # ce qui est ajouté
 $portalBarLink                                 : $c1lighter;
 $portalBarLinkHover                            : $white;
...

 

Documentation

alx.github.com - git-scm.com

11 - Consulter l'historique d'un fichier ?

Objectifs

Comparer les deux dernières configurations d'un établissement.
Voir ce qui a changé dans le dernier commit.

Commandes
Unix & Windows
git log fichier
Résultat attendu
/home/sweethome/GitHub/esup-uportal [7-SGBD]> git log README
commit b332be2266b4018a677fa2439f34db8e56aef178
Author: Vincent Bonamy <vbonamy@gmail.com>
Date:   Mon Jan 21 11:48:06 2013 +0100

    MAJ README ESUP : esup.properties - simple renommage de propriétés de configuration lda

commit fe754564d9562ae40431507d05a6d5354265e83d
Author: Vincent Bonamy <vbonamy@gmail.com>
Date:   Wed Dec 12 16:38:11 2012 +0100

    Update README : git clone with read-only access

commit 7b39fedb27a656eac4a6c2b13b57e79dfa3cb80b
Author: Vincent Bonamy <vbonamy@gmail.com>
Date:   Fri Dec 7 09:47:36 2012 +0100

    README -> README-JASIG ; README.esup -> README

commit e999d58c61c357fdd19d5c38e7f7c75f6eaa0c4e
Author: Drew Wills <wills.drew@gmail.com>
Date:   Tue Oct 2 14:35:04 2012 -0700

    NOJIRA:  Correct outdated info in the README
Documentation

git-scm.com

12 - Faire un tag de la version ?

Objectif

Marquer une configuration comme fonctionnelle.

Commandes
Résultat attendu
Documentation

www.siteduzero.com - git-scm.com

13 - Annuler un commit fait par erreur, revenir à une version antérieure de fichier ?

Objectif

En cas de problèmes, revenir à une version fonctionnelle.

Commandes
Résultat attendu
Documentation

www.siteduzero.com

 

  • Aucune étiquette