Même si votre branche n'est pas rapide et même si elle présente de réels conflits, vous pouvez toujours fusionner sans effectuer un checkout complet. Disons que vous voulez fusionner votre bout actuel dev
sur master
. Cela vaut la peine d'essayer le git push . dev:master
si vous pensez que cela peut fonctionner, cela vérifie si un fastforward est le bon mouvement et si c'est le cas, le fait juste là, mais si vous ne pouvez pas simplement ré-accrocher l'étiquette, votre prochaine étape est
git clone -nsb master . `mktemp -d`
cd $_
git reset -q
git merge origin/dev
git push
cd -
et vous avez maintenant fait une "fusion avec vérification minimale". Le clone, le cd et la réinitialisation prennent moins de temps à exécuter qu'il n'en faut pour taper sur un projet qui n'est pas petit (3,5G d'historique, 1,2G de checkout complet est >70K fichiers) sur un midrange vieux de dix ans parce qu'il ne duplique rien.
6 votes
Et comment comptez-vous précisément résoudre les conflits ?
5 votes
Disons que je suis sûr que je n'en aurai pas. Puis-je le faire alors ?
3 votes
+1 C'est en effet une question très intéressante qui fait avancer la connaissance de git et qui mérite plus de upvotes !
1 votes
Duplicata possible de Fusionner, mettre à jour et tirer des branches Git sans utiliser de checkouts.