- Ajout système complet de gestion des secteurs avec contours géographiques - Import des contours départementaux depuis GeoJSON - API REST pour la gestion des secteurs (/api/sectors) - Service de géolocalisation pour déterminer les secteurs - Migration base de données avec tables x_departements_contours et sectors_adresses - Interface Flutter pour visualisation et gestion des secteurs - Ajout thème sombre dans l'application - Corrections diverses et optimisations 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
219 lines
5.2 KiB
Markdown
Executable File
219 lines
5.2 KiB
Markdown
Executable File
# Guide de Migration Git : GitLab vers Gitea
|
|
|
|
Guide complet pour migrer un dépôt Git de GitLab vers Gitea en préservant l'historique complet et en nettoyant les branches obsolètes.
|
|
|
|
## 📋 Prérequis
|
|
|
|
- Accès au dépôt GitLab source
|
|
- Accès (push) au nouveau dépôt Gitea (créé et vide)
|
|
- Git configuré localement
|
|
|
|
## 🚀 Étapes de Migration
|
|
|
|
### Phase 1 : Préparation et Commit
|
|
|
|
```bash
|
|
# Vérifier l'état actuel du dépôt
|
|
git status
|
|
|
|
# Ajouter toutes les modifications en cours
|
|
git add .
|
|
|
|
# Commiter les modifications avant migration
|
|
git commit -m "Commit avant migration vers Gitea - consolidation des features"
|
|
|
|
# Vérifier que le working tree est propre
|
|
git status
|
|
```
|
|
|
|
### Phase 2 : Sauvegarde vers l'Ancien Dépôt
|
|
|
|
```bash
|
|
# Voir toutes les branches disponibles
|
|
git branch -a
|
|
|
|
# Pousser la branche actuelle vers GitLab (sauvegarde de sécurité)
|
|
git push origin feature/nom-de-votre-branche
|
|
|
|
# Optionnel : Sauvegarder toutes les branches
|
|
git push origin --all
|
|
|
|
# Optionnel : Sauvegarder les tags
|
|
git push origin --tags
|
|
```
|
|
|
|
### Phase 3 : Migration vers Gitea
|
|
|
|
```bash
|
|
# Vérifier la configuration remote actuelle
|
|
git remote -v
|
|
|
|
# Supprimer l'ancien remote GitLab
|
|
git remote remove origin
|
|
|
|
# Ajouter le nouveau remote Gitea
|
|
git remote add origin https://votre-gitea.com/utilisateur/depot.git
|
|
|
|
# Vérifier la nouvelle configuration
|
|
git remote -v
|
|
|
|
# Pousser toutes les branches vers Gitea (migration complète)
|
|
git push -u origin --all
|
|
|
|
# Pousser les tags vers Gitea
|
|
git push origin --tags
|
|
```
|
|
|
|
### Phase 4 : Vérification de la Migration
|
|
|
|
```bash
|
|
# Vérifier l'état des branches après migration
|
|
git branch -a
|
|
|
|
# Vérifier le statut
|
|
git status
|
|
|
|
# Optionnel : Tester la connectivité
|
|
git remote show origin
|
|
```
|
|
|
|
## 🧹 Nettoyage et Consolidation
|
|
|
|
### Merger les Branches de Feature
|
|
|
|
```bash
|
|
# Basculer vers la branche principale
|
|
git checkout main
|
|
|
|
# En cas de conflit lors du checkout, stasher les modifications
|
|
git stash
|
|
|
|
# Merger une branche de feature
|
|
git merge feature/nom-de-la-branche
|
|
|
|
# Pousser main mise à jour
|
|
git push origin main
|
|
```
|
|
|
|
### Vérifier les Branches Mergées
|
|
|
|
```bash
|
|
# Lister toutes les branches déjà mergées dans main
|
|
git branch --merged main
|
|
```
|
|
|
|
### Supprimer les Branches Obsolètes
|
|
|
|
```bash
|
|
# Supprimer les branches locales (une par une ou groupées)
|
|
git branch -d feature/branche1 feature/branche2 feature/branche3
|
|
|
|
# Supprimer les branches distantes
|
|
git push origin --delete feature/branche1 feature/branche2 feature/branche3
|
|
|
|
# Vérification finale - ne devrait rester que main
|
|
git branch -a
|
|
```
|
|
|
|
## ✅ Vérification Finale
|
|
|
|
```bash
|
|
# État final souhaité
|
|
git branch -a
|
|
# Résultat attendu :
|
|
# * main
|
|
# remotes/origin/main
|
|
|
|
# Vérifier que tout est synchronisé
|
|
git status
|
|
# Résultat attendu : "nothing to commit, working tree clean"
|
|
```
|
|
|
|
## 🔧 Gestion des Problèmes Courants
|
|
|
|
### Erreur d'Authentification
|
|
|
|
```bash
|
|
# Configurer les credentials si nécessaire
|
|
git config --global user.name "VotreNom"
|
|
git config --global user.email "votre@email.com"
|
|
|
|
# Ou utiliser SSH au lieu de HTTPS
|
|
git remote set-url origin git@votre-gitea.com:utilisateur/depot.git
|
|
```
|
|
|
|
### Conflits lors du Merge
|
|
|
|
```bash
|
|
# Sauvegarder les modifications locales
|
|
git stash
|
|
|
|
# Faire le merge
|
|
git merge feature/branche
|
|
|
|
# Récupérer les modifications si nécessaire
|
|
git stash pop
|
|
```
|
|
|
|
### Annuler des Modifications Locales
|
|
|
|
```bash
|
|
# Annuler les modifications sur des fichiers spécifiques
|
|
git checkout -- fichier1 fichier2
|
|
|
|
# Ou reset complet (ATTENTION : perte des modifications)
|
|
git reset --hard HEAD
|
|
```
|
|
|
|
## 📊 Résumé des Avantages
|
|
|
|
✅ **Historique préservé** : Tous les commits sont conservés
|
|
✅ **Branches migrées** : Toutes les branches sont transférées
|
|
✅ **Sauvegarde sécurisée** : L'ancien dépôt reste intact
|
|
✅ **Nettoyage propre** : Suppression sécurisée des branches obsolètes
|
|
✅ **Consolidation** : Code unifié sur la branche principale
|
|
|
|
## ⚠️ Points d'Attention
|
|
|
|
- **Toujours sauvegarder** vers l'ancien dépôt avant migration
|
|
- **Vérifier les droits** sur le nouveau dépôt avant de commencer
|
|
- **Tester la connectivité** avec un petit push avant la migration complète
|
|
- **Vérifier que les branches sont mergées** avant de les supprimer
|
|
- **Communiquer** avec l'équipe sur le changement de dépôt
|
|
|
|
## 🎯 Commandes Essentielles Résumées
|
|
|
|
```bash
|
|
# Migration complète en une fois
|
|
git add . && git commit -m "Pre-migration commit"
|
|
git push origin --all # Sauvegarde
|
|
git remote remove origin
|
|
git remote add origin https://nouveau-depot.git
|
|
git push -u origin --all # Migration
|
|
|
|
# Nettoyage
|
|
git checkout main
|
|
git branch --merged main # Vérifier
|
|
git branch -d branche1 branche2 # Supprimer locales
|
|
git push origin --delete branche1 branche2 # Supprimer distantes
|
|
```
|
|
|
|
## 📝 Exemple Concret
|
|
|
|
Voici l'exemple de la migration réalisée pour ce projet :
|
|
|
|
```bash
|
|
# Migration de : http://51.68.36.203:35788/d6soft/geosector.git
|
|
# Vers : https://gitea.d6soft.fr/D6/geo.git
|
|
|
|
# Résultats :
|
|
# - 2290 objets migrés (140.23 MiB)
|
|
# - 6 branches transférées
|
|
# - Historique complet préservé
|
|
# - Nettoyage final : seule la branche main conservée
|
|
```
|
|
|
|
---
|
|
|
|
_Guide testé et validé lors de la migration réussie d'un projet multi-branches avec préservation complète de l'historique._
|