Update Gestion de versions avec hébergement du dépôt sur un serveur GitLab, les bases authored by Sebastien Jean's avatar Sebastien Jean
...@@ -107,11 +107,11 @@ La fenêtre principale permet également quelques actions : ...@@ -107,11 +107,11 @@ La fenêtre principale permet également quelques actions :
L'ensemble des actions est accessible depuis le **menu latéral**, notamment la configuration du projet (contribteurs, rôles, ...) L'ensemble des actions est accessible depuis le **menu latéral**, notamment la configuration du projet (contribteurs, rôles, ...)
## Clonage d'un dépôt distant et synchronisation amont ## Clonage d'un dépôt distant
La suite décrit le clonage d'un dépôt distant (`clone`) et l'envoi de commits locaux à distance (`push`). La suite décrit le clonage d'un dépôt distant (`clone`) et l'envoi de commits locaux à distance (`push`).
### Clonage d'un dépôt distant ### Clonage
L'opération de **clonage**, comme illustré ci-dessous, permet de créer localement (sur le poste de travail d'un dévéloppeur) un dépôt contenant une copie intégrale de l'historique du dépôt distant et une reconstruction du _Working Tree_ correspondant au dernier commit (dépôt _non bare_). L'opération de **clonage**, comme illustré ci-dessous, permet de créer localement (sur le poste de travail d'un dévéloppeur) un dépôt contenant une copie intégrale de l'historique du dépôt distant et une reconstruction du _Working Tree_ correspondant au dernier commit (dépôt _non bare_).
...@@ -210,9 +210,9 @@ Le schéma ci-dessous illustre le résultat du clonage, en montrant les branches ...@@ -210,9 +210,9 @@ Le schéma ci-dessous illustre le résultat du clonage, en montrant les branches
![GitlabCloneWithBranches](uploads/d4e450095361386af7d880c49d01233e/GitlabCloneWithBranches.png) ![GitlabCloneWithBranches](uploads/d4e450095361386af7d880c49d01233e/GitlabCloneWithBranches.png)
### Synchronisation amont d'un dépôt local ## Synchronisation montante d'un dépôt local
#### Ajout d'un commit local ### Ajout d'un commit local
On crée un nouveau fichier `unFichier.txt` à la racine du _Working Tree_ (et ici on vérifie sa présence et son contenu) : On crée un nouveau fichier `unFichier.txt` à la racine du _Working Tree_ (et ici on vérifie sa présence et son contenu) :
...@@ -269,7 +269,7 @@ Cette situation peut être illustrée de la manière suivante : ...@@ -269,7 +269,7 @@ Cette situation peut être illustrée de la manière suivante :
> :bulb: L'opération `commit` est **toujours locale**, comme illustré ci-dessus. L'observation de l'état du dépôt distant via l'URL ne montre pas de nouveau commit. :warning: **Ce commit doit être explicitement transmis au serveur** > :bulb: L'opération `commit` est **toujours locale**, comme illustré ci-dessus. L'observation de l'état du dépôt distant via l'URL ne montre pas de nouveau commit. :warning: **Ce commit doit être explicitement transmis au serveur**
#### Synchronisation amont du dépôt local ### Synchronisation montante du dépôt local
L'envoi des commits manquants s'effectue via la commande `git push`. L'envoi des commits manquants s'effectue via la commande `git push`.
...@@ -379,3 +379,64 @@ Your branch is up to date with 'origin/main'. ...@@ -379,3 +379,64 @@ Your branch is up to date with 'origin/main'.
nothing to commit, working tree clean nothing to commit, working tree clean
sebastienjean@MacBook-Air-749 gitlab-bases % sebastienjean@MacBook-Air-749 gitlab-bases %
``` ```
## Synchronisation descendante d'un dépôt local
> ⚠️Pour simuler facilement l'existence de plusieurs développeurs, on réalise un clonage multiple du même dépôt en local, en configurant différemment les identités pour pouvoir s'y retrouver par la suite
On supprime le contenu du dépôt local précédent :
```bash
sebastienjean@MacBook-Air-749 gitlab-bases % rm -rf .git sebastienjean@MacBook-Air-749 gitlab-bases % rm *
zsh: sure you want to delete all 2 files in /Users/sebastienjean/gitlab-bases [yn]? y
sebastienjean@MacBook-Air-749 gitlab-bases % ls -al
total 0
drwxr-xr-x 2 sebastienjean staff 64 Sep 25 11:53 .
drwxr-xr-x@ 157 sebastienjean staff 5024 Sep 25 09:59 ..
```
On crée deux sous-répertoires pour accueillir les clones :
```plaintext
sebastienjean@MacBook-Air-749 gitlab-bases % mkdir clone1
sebastienjean@MacBook-Air-749 gitlab-bases % mkdir clone2
sebastienjean@MacBook-Air-749 gitlab-bases % ls -al
total 0
drwxr-xr-x 4 sebastienjean staff 128 Sep 25 11:53 .
drwxr-xr-x@ 157 sebastienjean staff 5024 Sep 25 09:59 ..
drwxr-xr-x 3 sebastienjean staff 96 Sep 25 11:53 clone1
drwxr-xr-x 3 sebastienjean staff 96 Sep 25 11:53 clone2
```
On clone une première fois le dépôt, en configurant une identité particulière :
```plaintext
sebastienjean@MacBook-Air-749 gitlab-bases % cd clone1
sebastienjean@MacBook-Air-749 clone1 % git clone https://gitlab.iut-valence.fr/jeans/gitlab-bases.git
Cloning into 'gitlab-bases'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
sebastienjean@MacBook-Air-749 clone1 % git config --local user.name dev1
sebastienjean@MacBook-Air-749 clone1 % git config --local user.name
dev1
```
On clone une seconde fois le dépôt, en configurant une identité particulière :
```plaintext
sebastienjean@MacBook-Air-749 clone1 % cd ..
sebastienjean@MacBook-Air-749 gitlab-bases % cd clone2
sebastienjean@MacBook-Air-749 clone2 % git clone https://gitlab.iut-valence.fr/jeans/gitlab-bases.git
Cloning into 'gitlab-bases'...
remote: Enumerating objects: 6, done.
remote: Counting objects: 100% (6/6), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 6 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (6/6), done.
sebastienjean@MacBook-Air-749 clone2 % git config --local user.name dev2
sebastienjean@MacBook-Air-749 clone2 % git config --local user.name
dev2
```
\ No newline at end of file