Pour mémoire je remet la manip ici.
Je souhaitais pouvoir transférer l'intégralité d'un répo d'un serveur à un autre (branches, tags, ...).
1) Je clone le répo en local sur mon PC :
git clone --mirror https://USERNAME:PASSWORD@URL_REPO_SOURCE
Ca donne un répertoire dont le nom se finit en ".git".
Note : Les USERNAME et PASSWORD ne sont nécessaires que si une configuration globale contenant d'autres credential a été sauvegardée. De plus, le répo sera créé avec ces credentials apparaissant en clair dans le remote (git remote -v
). Attention donc aux indiscrétions ...
Pour mettre ce répo à jour par la suite (en tirant les changements depuis ce remote) :
git remote update
2) Je crée un répo vide dans le serveur cible. Vraiment vide, ie sans même le fichier README.md qui peut être créé à l'initialisation du répo.
3) Je pousse vers le répo cible :
Normalement, on devrait pouvoir faire ceci :
git push --mirror https://URL_REPO_CIBLE
Mais ça n'a pas fonctionné quand j'ai testé. L'erreur donnée par git dit que l'API distante est injoignable.
Bref. Sinon ça marche aussi comme ça :
git push --all https://URL_REPO_CIBLE
git push --tags https://URL_REPO_CIBLE
Il faudra que je vérifie que ces deux commandes push (--all et --tags) envoient bien toutes les datas vers le répo cible.
Asselineau en parle depuis plusieurs années dans ses conférences : ça y est, c'est fait! La proposition est faîte publiquement de faire en sorte que la France partage son siège de membre permanent au conseil de sécurité de l'ONU. Et puis d'ici quelques années, on officialisera le fait que ce siège n'appartient plus à la France, mais à l'Union Européenne, donc de facto à l'Allemagne (pays ayant l'économie la plus forte de la zone euro).
Et notre larbin de président va encore vendre les bijoux de famille pour une misère, afin d'appuyer ses rêves chimériques d'Union Européenne.