GITLAB iLM - Institut Lumière Matière

Update Home authored by Claire MOUTON's avatar Claire MOUTON
......@@ -2,7 +2,7 @@
## Pré-requis
# Pré-requis
* Notions de gestionnaire de versions (CVS, SVN, Git) souhaitables
* Un ordinateur - peu importe l'OS - disposant de :
......@@ -16,16 +16,16 @@
## Exercices
# Exercices
### Matériel
## Matériel
[waf-c-example.tar.gz](uploads/5695cf1fc22675132848ff12963e816c/waf-c-example.tar.gz) par Maude Le Jeune (CNRS/IN2P3/APC)
### En solo
## En solo
#### Configuration
### Configuration
* télécharger et décompresser `waf-c-example.tar.gz`
* entrer dans le répertoire `waf-c-example`
* copier le fichier `data/.gitconfig` vers votre home directory
......@@ -39,7 +39,7 @@
**Notions** : aliases, whitespaces
#### Création du dépôt
### Création du dépôt
* initialiser le dépôt git (`git init`)
* visualiser les changements (`git status`)
* ajouter l'ensemble des fichiers du projet, *sauf* le répertoire data (`git add|mv|rm`)
......@@ -49,12 +49,12 @@
**Notions** : index
#### Interlude optionnel, pour ceux qui souhaitent compiler et exécuter le code des TP
### Interlude optionnel, pour ceux qui souhaitent compiler et exécuter le code des TP
`./waf configure build`
`LD_LIBRARY_PATH=./__build__/liba:./__build__/libb ./__build__/app/app`
#### On code
### On code
* vérifier qu'aucune fonction `liba_byebye()` existe (`git grep`)
* ajouter une fonction `liba_byebye()` à la liba, qui sera appelée à la fin de `app.c`
* visualiser les modifications (`git diff`)
......@@ -64,17 +64,17 @@
**Notions** : revisions
#### On s'est trompé
### On s'est trompé
En fait, on préfère nommer `liba_goodbye` la fonction `liba_byebye`.
* remettre le dépôt à son état précédent juste avant le commit (`git reset HEAD^`)
* rechercher les occurrences de la fonction `liba_byebye()` et la renommer `liba_goodbye()`
* enregistrer les modifications (`git commit`)
#### Se rétracter
### Se rétracter
Finalement, on préfère abandonner la nouvelle feature.
* annuler le dernier commit (`git revert`)
#### Voyage dans le temps
### Voyage dans le temps
En plein milieu d'un développement, on souhaite aller vérifier du code dans une version antérieure.
* ajouter une fonction `libb_goodbye()` à la libb, qui sera appelée à la fin de `app.c`
* cacher les modifications (`git stash`)
......@@ -86,7 +86,7 @@ En plein milieu d'un développement, on souhaite aller vérifier du code dans un
* étiqueter la version courante (`git tag -a`)
* vérifier que le tag a bien été pris en compte
#### Brancher
### Brancher
On commence une nouvelle feature, que l'on enregistrera finalement dans une nouvelle branche.
* visualiser les branches existantes (`git branch`)
* ajouter une fonction `liba_greetings()` à la liba, qui sera appelée dans `app.c`
......@@ -99,7 +99,7 @@ On crée une nouvelle feature planifiée.
* ajouter une fonction `libb_happy()` à la libb
* enregistrer les modifications (`git commit`)
#### Fusionner
### Fusionner
* revenir sur la branche *greetings*, ajouter une fonction `libb_how_are_you()` à la libb
* enregistrer les modifications (`git commit`)
......@@ -109,7 +109,7 @@ On fusionne la nouvelle feature avec la branche maîtresse.
* appliquer les modifications de la branche *happy*
* résoudre les conflits et enregistrer les modifications
#### Détour
### Détour
L'historique (`git lo`) montre clairement l'existence d'une branche fusionnée (*happy*). Il eut été possible d'appliquer les modifications enregistrées dans la branche *happy* de sorte qu'il en résulte un historique linéraire (`git rebase`).
* vérifier d'être bien placé sur la branche *master*
* annuler le merge de la branche *happy* (`git reset --hard v0.1`)
......@@ -121,7 +121,7 @@ L'historique (`git lo`) montre clairement l'existence d'une branche fusionnée (
* supprimer les branches *happy* et *greetings* (`git branch`)
### Remote
## Remote
#### Partager son dépôt - GitHub ou GitLab
### Partager son dépôt - GitHub ou GitLab