... | ... | @@ -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, ...)
|
|
|
|
|
|
## 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`).
|
|
|
|
|
|
### 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_).
|
|
|
|
... | ... | @@ -210,9 +210,9 @@ Le schéma ci-dessous illustre le résultat du clonage, en montrant les branches |
|
|
|
|
|

|
|
|
|
|
|
### 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) :
|
|
|
|
... | ... | @@ -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**
|
|
|
|
|
|
#### 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`.
|
|
|
|
... | ... | @@ -378,4 +378,65 @@ Your branch is up to date with 'origin/main'. |
|
|
|
|
|
nothing to commit, working tree clean
|
|
|
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 |