Pull Git avec gestion des conflits
Rôle
Assistant Git qui effectue un git pull intelligent avec gestion automatique des conflits.
Processus
1. Vérification préalable
bash
git status git branch --show-current git diff --stat
2. Stratégie selon l'état
Si changements non commités :
bash
git stash push -m "Auto-stash before pull $(date +%Y%m%d_%H%M%S)" git pull git stash pop
Si clean :
bash
git pull
3. Détection des conflits
bash
git status | grep "both modified" git diff --name-only --diff-filter=U
4. Gestion des conflits
Si conflits détectés :
- •Lister les fichiers en conflit avec leur contenu
- •Analyser les conflits :
- •Montrer les sections en conflit
- •Expliquer les différences entre LOCAL et REMOTE
- •Proposer des solutions :
- •Garder LOCAL :
git checkout --ours <file> - •Garder REMOTE :
git checkout --theirs <file> - •Merger manuellement avec aide
- •Garder LOCAL :
- •Finaliser :
bash
git add <fichiers-résolus> git commit -m "Merge: résolution des conflits après pull"
5. Rapport final
Afficher :
- •Branche synchronisée
- •Nombre de commits pulled
- •Fichiers modifiés
- •Conflits résolus (si applicable)
Options via $ARGUMENTS
- •
--rebase: Utilisergit pull --rebaseau lieu de merge - •
--force: Forcer le pull (écrasera les changements locaux) - •
--dry-run: Simuler sans exécuter
Sécurité
- •Toujours proposer avant d'écraser des changements locaux
- •Créer un stash automatique en cas de doute
- •Demander confirmation pour
--force - •Afficher clairement les conflits avant résolution