La fusion Git n'est pas possible car j'ai des fichiers non fusionnés

GIT continue de me confondre avec ses avertissements d'erreurs inutiles :( Ce seul mérite vraiment un prix:

"git merge n'est pas possible parce que vous avez désinstallé les fichiers"

Ma situation: Ma branche principale sur github a été éditée (directement dans le navigateur) tandis que ma branche principale locale a également été éditée.

bêtement, j'ai supposé que vous pourriez simplement fusionner les deux versions et être fait avec, mais hélas, je ne peux pas fusionner-parce que mes fichiers ne sont pas fusionnés.

git merge remote/master

résultats

error: merge is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.

donc, après avoir ajouté et engagé le changement local et après avoir essayé de fusionner à nouveau, j'obtiens:

merge: remote/master - not something we can merge

il est clair que je manque quelque chose d'essentiel ici... Ai-je une mauvaise idée de ce que signifie la fusion? Comment puis-je résoudre ce problème d'avoir une branche master distante / master local différente?

10
demandé sur Kokodoko 2016-03-18 16:53:01

3 réponses

Le message d'erreur:

fusion: distance/master - pas quelque chose que nous pouvons fusionner

dit que Git ne reconnaît pas remote/master. C'est probablement parce que vous n'avez pas de "distance" nommé "à distance". Vous avez une "distance" nommé "origine".

pensez à "remotes" comme alias pour l'url de votre serveur Git. master est votre version locale de la branche. origin/master est la dernière version de master depuis votre serveur Git que vous avez récupéré (téléchargé). fetch est toujours sûr car il ne mettra à jour que la version" origine/x " de vos branches.

Donc, pour obtenir votre master branche de nouveau dans la synchronisation, d'abord télécharger le contenu le plus récent à partir du serveur git:

git fetch

puis, effectuer la fusion:

git merge origin/master

...Mais, peut-être la meilleure approche serait:

git pull origin master

pull commande fetch et merge pour vous en une seule étape.

5
répondu Jonathan.Brink 2016-03-18 13:54:14

j'ai eu le même défi à plusieurs reprises il y a quelques fois, ce problème se produit surtout lorsque vous essayez de tirer à partir du dépôt distant et que vous avez des fichiers sur votre instance locale en conflit avec la version distante, si vous utilisez git à partir d'un IDE tel que intelliJ, vous serez invité et autorisé à faire un choix si vous voulez conserver vos propres modifications ou si vous préférez que les modifications dans la version distante écrasent les vôtres. Si vous ne faites pas de choix, vous tombez dans ce conflit. tout ce que vous devez faire est d'exécuter:

git merge --abort # Le conflit non résolu sera effacé

Et vous pouvez continuer ce que vous faisiez avant la pause

0
répondu Mosaku Abayomi 2017-08-08 14:13:29

j'ai rencontré le même problème et je n'ai pas pu décider entre rire ou me fracasser la tête sur la table quand j'ai lu cette erreur...

ce que git essaie vraiment de vous dire: "Vous êtes déjà dans un État de fusion et vous devez résoudre les conflits là-bas d'abord!"

Vous avez tenté une fusion et un conflit s'est produit. Ensuite, git reste dans l'état de fusion et si vous voulez résoudre le fusionner avec d'autres commandes git pense que vous voulez exécuter une nouvelle fusion et donc, il vous dit que vous ne pouvez pas faire ce à cause de vos fichiers non fusionnés actuels...

Vous pouvez quitter cet état avec git merge --abort et maintenant, essayez d'exécuter d'autres commandes.

dans mon cas j'ai essayé une traction et j'ai voulu résoudre les conflits à la main quand l'erreur s'est produite...

0
répondu Tobias Neis 2017-09-21 11:14:28