Git merge n'est pas possible parce que j'ai désinstallé les fichiers
GIT continue de me confondre avec ses inutiles avertissements d'erreur 🙁
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 master sur github a été modifié (directement dans le navigateur), pendant que mon maître local de la branche a également été édité.
Bêtement, je suppose que vous pourriez tout simplement de fusionner les deux versions et être fait avec elle, mais hélas, je ne peux pas fusionner parce que mes fichiers ne sont pas fusionnées.
git merge remote/master
résultats dans
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 l'ajout et la validation de la modification locale et d'essayer de fusionner de nouveau, j'obtiens:
merge: remote/master - not something we can merge
Clairement il me manque quelque chose d'essentiel ici... puis-je avoir la mauvaise idée au sujet de ce la fusion de moyens? Comment puis-je résoudre ce problème d'avoir un autre à distance maître /maître local branche?
OriginalL'auteur Kokodoko | 2016-03-18
Vous devez vous connecter pour publier un commentaire.
Le message d'erreur:
est dire 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".Pense que des "télécommandes" comme un alias pour l'url de votre serveur Git.
master
est localement extraits de la version de la branche.origin/master
est la dernière version demaster
à partir de votre serveur Git que vous avez récupéré (téléchargé). Unfetch
est toujours plus sûr, car il ne fera que mettre à jour la "origine/x" version de vos branches.Donc, pour obtenir votre
master
branche de la synchronisation, tout d'abord télécharger le contenu le plus récent à partir du serveur git:Ensuite, effectuer la fusion:
...Mais, peut-être la meilleure approche serait:
La
pull
commande fera l'fetch
etmerge
pour vous en une seule étape.Dans ce cas, il ressemble à Git a été en mesure de lancer les diff résolution pour vous...pour être sûr que vous avez pris ce que vous avez prévu un bon "sanity check" de l'outil que j'utilise souvent est "gitk". Il est livré avec le Git installer de sorte que vous devriez déjà l'avoir. Il suffit de taper "gitk" sur votre commande terminal pour une interface graphique de type point de vue de votre arbre Git.
La fusion inséré des commentaires dans mon fichier, qui ressemblent à ceci: <<<<<<<HEAD clés:7234095827345093458. Peut-être que git ne pouvais pas trouver mon fileMerge outil et inséré ces codes pour moi de résoudre dans un éditeur de texte?
Oui, cela sonne comme une raison plausible pour que cela arrive...si vous voulais re-faire la fusion (après la fixation de votre fusion-outil), vous devez être capable de faire:
git reset --hard MERGE_HEAD
pour en revenir à votre pré-état de fusionMerci, cela répond déjà à ma question pourquoi je ne pouvais pas fusionner (j'ai eu les deux versions différentes disponibles). Ce qui reste maintenant est de savoir comment obtenir git pour ouvrir automatiquement "opendiff/fileMerge" en cas de conflit. Je suppose que c'est une autre question.
OriginalL'auteur Jonathan.Brink
J'ai à plusieurs reprises eu la même défi parfois, il ya, ce problème se produit généralement lorsque vous essayez de tirer sur le dépôt distant et que vous avez des fichiers sur votre instance locale en conflit avec la version à distance, si vous utilisez git à partir d'un IDE comme intelliJ, vous serez invité et autorisé à faire un choix si vous souhaitez conserver vos propres modifications ou si vous préférez, les changements dans la version à distance de remplacer la vôtre". Si vous ne faites pas de choix, puis vous tomber dans ce conflit. tout ce que vous devez faire est de lancer:
git merge --abort # Le conflit non résolu sera effacé
Et vous pouvez continuer ce que vous faisiez avant la pause
OriginalL'auteur Mosaku Abayomi
J'ai rencontré le même problème et je ne pouvais pas décider entre rire ou brisant ma 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 de la nécessité de résoudre les conflits il y a d'abord!"
Vous essayé 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 le faire en raison de votre non fusionné les fichiers...
Vous pouvez quitter cet état avec
git merge --abort
et maintenant, essayez d'exécuter d'autres commandes.Dans mon cas, j'ai essayé un pull et je voulais résoudre les conflits par la main lorsque l'erreur s'est produite...
OriginalL'auteur Tobias Neis
Une autre cause potentielle de ce type (Ide, a été impliqué dans mon cas, pas sûr que ce qui comptait tout de même): en essayant de fusionner dans les modifications d'une branche principale dans une branche de la branche.
En d'autres termes, la fusion "principal" dans "actuel" dans les dispositions suivantes:
J'ai résolu tous les conflits et GiT a signalé non fusionné les fichiers et j'ai été coincé jusqu'à ce que j'ai fusionné à partir des principaux en fonction de, puis dans le courant.
OriginalL'auteur davidjmcclelland