To https://gitlab.iut-valence.fr/jeans/gitlab-bases.git
![rejected] main -> main (fetch first)
error: failed to push some refs to 'https://gitlab.iut-valence.fr/jeans/gitlab-bases.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards'in'git push --help'for details.
```
L'opération échoue car les deux historiques (local et distant) se contradisent :
* le dépot local demande à raccrocheer le commit `4` après le commit `2`
* le dépôt distant ne peut pas raccrocher `4` à `2` car `3` est déjà le successeur de `2`
> ⚠️ Le serveur n'autorise jamaais les situations de **divergence non résolue**. Ici, la situation reviendrait à avoir une séparation de l'historique en 2 chronologies (branches) parallèles. La divergence doit d'abord être résolue localement par le développeur qui la constate.
#### Synchronisation descendante à partir du dépôt `clone 2`
Toujours à partir du dépôt `clone 2`, on se synchronise dans le sens descendant avec la commande `git pull` :
* 1275819 Merge branch 'main' of https://gitlab.iut-valence.fr/jeans/gitlab-bases sebastienjean HEAD -> main
|\
| * b6c752a Nouvelle modification du fichier unFichier.txt sebastienjean origin/main, origin/HEAD
* | d9d3e8b Ajout du fichier unAutreFichier.txt sebastienjean
|/
* 899b42b Ajout d'une ligne à unFichier.txt sebastienjean
* 425ba5e ajout d'un fichier sebastienjean
* 23b7e54 Initial commit Sebastien Jean
sebastienjean@MacBook-Air-749 gitlab-bases %
```
> 👀 l'option `--graph` de la commande `git log` permet de représenter l'**historique sous forme de graphe**, ce qui permet de voir les divergences et leur résolution.