J'ai donc caché mes modifications pour mon projet Swift afin que je puisse faire une demande de traction puis fusionner les modifications que j'ai faites avec le nouveau tirage. Cependant, chaque fois que j'essaie de fusionner mes modifications, j'obtiens un conflit de fusion, concernant le fichier XCode UserInterfaceState.xcuserstate. Rien de ce que j'essaie ne me permet de fusionner mon code caché, et je crains de perdre un après-midi de code.Fusionner le conflit tout en essayant de fusionner du code caché
J'ai essayé d'ajouter * .xcuserstate à .gitignore, mais cela n'a pas semblé faire quoi que ce soit. J'ai alors essayé de supprimer le fichier, qui a créé un conflit de modification/suppression de la version dans la cachette. Voici l'erreur que je reçois lorsque je tente d'obtenir le code planqué:
$ git stash apply
CONFLICT (modify/delete): myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate left in tree.
Essayer ce qui coule recommandé ce fut la sortie reçue:
$ git reset --hard
HEAD is now at e509ffa Fixed bugs
$ git stash pop
myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate: needs merge
unable to refresh index
$ git rm myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate
myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate: needs merge
rm 'myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate'
$ git stash pop
CONFLICT (modify/delete): myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate left in tree.
Y at-il quelque chose que je peux faire pour corriger ce? Rien ne semble fonctionner, donc toute aide serait grandement appréciée, merci.
La modification du fichier en question est-elle nécessaire? Ou devrait-il être retiré comme il l'a été en amont? Si ce n'est pas nécessaire, après avoir appliqué votre cachette et vu le conflit, supprimez le fichier de votre système de fichiers, exécutez: 'git rm' et validez les modifications. –
Andonaeus
Avez-vous un fichier non fusionné? Voir ce lien: [impossible d'actualiser l'index] (http://stackoverflow.com/questions/9739352/git-stash-pop-needs-merge-unable-to-refresh-index). Assurez-vous que votre arbre de travail est propre en utilisant 'git status'. Sinon, résolvez et validez le conflit avant de refaire le pop – Flows
@Andonaeus J'ai essayé de supprimer le fichier, mais il a fini par provoquer un conflit de modification/suppression. J'ai posté la réponse dans mon post original. – shadowarcher