web-dev-qa-db-fra.com

Après la fusion, pourquoi GIT dit-il "Déjà à jour", alors qu'il existe encore des différences entre les branches?

Je travaillais à l'origine dans la branche 'newfeature' et on m'a appelé pour corriger un bogue sur la branche en direct de façon urgente. J'ai créé une branche pour cette tâche, appelée 'maintenance générale', puis effectué le travail pour le développer et le fusionner. Je souhaite maintenant revenir à la branche 'newfeature' et y intégrer les modifications que j'ai apportées plus tôt.

Lorsque je suis passé à «newfeature» et fusionné dans «develop», il y avait des conflits dans 3 fichiers.

J'ai eu du mal à résoudre les conflits et j'ai finalement décidé d'utiliser la commande "Rétablir" du menu "Equipe" d'Aptana Studio 3 (qui est mon IDE). Je m'attendais à ce que cela me ramène à avant la fusion, ce qui semble avoir été fait.

Quoi qu'il en soit, lorsque je fusionne à nouveau dans «développer», il est écrit Already-up-to-date, mais lorsque vous comparez des fichiers entre les deux branches, ils sont très différents et les modifications que j'ai ajoutées dans l'autre branche ne sont pas fusionnées.

Comment vais-je fusionner les deux branches maintenant s'il vous plaît?

27
Peter Snow

Trouvé une solution de hacky. Mais ça marche.

Quoi que ce soit eddiemoya a répondu est totalement utile. Merci beaucoup pour l'explication. J'ai rencontré la même situation. Où, j'ai pu voir beaucoup de contenu dans git diff <branch> mais git merge disait déjà à jour.

Et je n'ai pas été en mesure de trouver le commit exact du retour en raison du nombre important de retours dans le journal. (Ouais, c'est une mauvaise chose. Ça n'aurait pas dû arriver en premier lieu)

Solution

git checkout branchX -- .

Cela mettra en scène tous les changements de branchX vers ma branche actuelle. Utilisez l’un de vos clients git préféré, détachez et restaurez tout ce qui n’est pas prévu.

Faites un nouveau commit et soyez heureux :)

0
Katti