Projet Socle ENT
Pages enfant
  • 06 - Git (esup 4)

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

...

Objectif

Tester une branche, revenir sur une branche, etc ...

Commandes
Bloc de code
languagebash
titleUnix & Windows
git checkout master
  ou
git checkout esup4-univ

...

www.siteduzero.com - git-scm.com

Ancre
commit
commit

...

5 - Commiter des configurations dans sa branche ?

Objectif

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

...

Bloc de code
titleSortie de console
[entesup4-monunivuniv a82e27f] Changement de connecteur
1 file changed, 0 insertions(+), 0 deletions(-)
rewrite <Path>/filters/esup.properties(78%)

...

www.siteduzero.com - git-scm.com

...

6 - Récupérer les dernières mises à jour

...

du portail depuis le github Esup ?

Objectif

Mettre à jour le master remote (Esup Github) en vue de la mise à jour de la branche.

...

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

Bloc de code
languagebash
titleUnix & Windows
git fetch pull
Résultat attendu
Bloc de code
titleSortie 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) :

Bloc de code
languagebash
titleUnix & Windows
git tag
Bloc de code
titleSortie 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 :

Bloc de code
languagebash
titleUnix & Windows
git checkout <nom_version>
Bloc de code
titleSortie 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

Bloc de code
languagebash
titleUnix & Windows
git checkout ent-monuniv

Pour obtenir une liste des tags de l'application :

Bloc de code
languagebash
titleUnix & Windows
git tag

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

Bloc de code
languagebash
titleUnix & Windows
git merge <tag>
Résultat attendu
Bloc de code
titleSortie 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 :

Bloc de code
titleFichier 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
Bloc de code
titleFichier 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

...

origin

Repérer la dernière version stable et copier son nom (avec gitg par exemple en regardant origin/master) , par exemple uportal-4.0.11-esup-2.

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

Objectif

Faire un merge du tag  uportal-4.0.11-esup-2 de  origin/master dans sa propre branche.

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

Bloc de code
languagebash
titleUnix & Windows
git checkout ent-monuniv

 

Faire le merge :

 

Bloc de code
languagebash
titleUnix & Windows
git merge origin/master uportal-4.0.11-esup-2

 

 

 

Résultat attendu

Bloc de code
titleSortie de console
 Updating c6499c1..a82e27f
Fast-forward
README | Bin 3228 -> 3317 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
Documentation

www.siteduzero.com

8 - 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 :

Bloc de code
titleFichier 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
Bloc de code
titleFichier mergé
...
<div id="footer">
  please contact us at email.support@github.com
</div>
...
Puis faire le commit !
Documentation

git-scm.com

9 - Comparer 2 branches ?

Objectif

Par exemple :

  • retrouver les différentes modifications (configuration, look, patch) effectuées par rapport au tag de référence.
  • regarder les modifications/différences entre 2 tags 
  • etc.
Commandes

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

Bloc de code
languagebash
titleUnix & Windows
git tag
Bloc de code
languagebash
titleUnix & Windows
git diff tag1 tag2

Oui si on veut comparer la branche courante avec le tag1 : 

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

A noter que des outils graphiques peuvent ici proposer des visions intéressantes de diff ; ce même si git diff propose un certain nombre d'options qui peuvent s'avérer intéressantes également.

Documentation

alx.github.com - git-scm.com

10 - 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
Bloc de code
languagebash
titleUnix & Windows
git log tag
Bloc de code
languagebash
titleUnix & Windows
git diff tag1 tag2

...

fichier
Résultat attendu
Bloc de code
...
 $portalBarFontSize                  /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 100%;
de $portalBarTextAlignproprié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: right;
-$portalBarTextTransformVincent 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: capitalize;  Tue Oct 2 14:35:04 2012 -0700

    #NOJIRA: ce quiCorrect 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
Bloc de code
languagebash
titleUnix & Windows
git log fichier
Résultat attendu
Bloc de code
/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
Bloc de code
languagebash
titleUnix & Windows
git tag -a v1.4 -m 'my version 1.4'
Résultat attendu

Aucune sortie. Vérification de la création possible à l'aide de la commande tag.

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
Bloc de code
languagebash
titleUnix & Windows
git reset HEAD^                                      # Annule le dernier commit
git reset HEAD^^                                     # Annule l'avant-dernier commit
git reset HEAD~2                                     # Annule l'avant-dernier commit (notation équivalente)
git reset d6d98923868578a7f38dea79833b56d0326fcba1   # Annule un numéro de commit précis ;
Résultat attendu
Bloc de code
Unstaged changes after reset:
M       README

 

Documentation

www.siteduzero.com

...

outdated info in the README
De même des outils graphiques (github, gitg) peuvent également être intéressants ici lorsqu'on souhaite consulter l'historique des commits ...
Documentation

git-scm.com

11 - Faire un tag de la version ?

Objectif

Marquer une configuration comme fonctionnelle.

Commandes
Bloc de code
languagebash
titleUnix & Windows
git tag -a v1.4 -m 'my version 1.4'
Résultat attendu

Aucune sortie. Vérification de la création possible à l'aide de la commande tag.

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 ; défaire un commit ...

Commandes

 Il y a plusieurs moyens d'"annuler" un commit, on peut défaire un commit via un commit qui fait les modifications contraires (revert) ... et on peut réécrire l'histoire aussi si bien qu'o n'aura plus de trace du commit annulé (reset).

Il est plus simple de  faire un revert, cela d'autant plus si vous avez déjà partagé le commit avec une (ou plusieurs) autre(s) machine(s) (en fait dans ce cas, il est Très conseillé de ne pas faire de reset).

En plus, même si vous annulez la modification, cela peut être intéressant de conserver cette tentative dans votre historique.

Bloc de code
languagebash
titleUnix & Windows
git revert d6d98923868578a7f                         # Refait un commit qui "défait" le commit d6d98923868578a7f