Résoudre les conflits à l’aide de modifications à distance lors de l’extraction depuis la télécommande Git

J’essaie de récupérer le code de mon repo GitHub sur mon serveur, mais la tentative échoue à cause de conflits de fusion. Je ne veux conserver aucun des changements survenus sur mon serveur local depuis la dernière tentative.

Y a-t-il un moyen de forcer Git à écraser la version de GitHub, plutôt que de me préoccuper des conflits?

Si vous voulez vraiment ignorer les commits que vous avez faits localement, c’est-à-dire ne jamais les retrouver dans l’histoire, vous ne demandez pas comment tirer – tirer des moyens de fusionner et vous n’avez pas besoin de fusionner. Tout ce que vous avez besoin de faire est ceci:

# fetch from the default remote, origin git fetch # reset your current branch (master) to origin's master git reset --hard origin/master 

Je recommande personnellement de créer d’abord une twig de sauvegarde sur votre HEAD actuel, de sorte que si vous réalisez que c’était une mauvaise idée, vous n’en avez pas perdu la trace.

Si, par contre, vous souhaitez conserver ces modifications et donner l’impression que vous avez fusionné avec l’origine, et que la fusion conserve uniquement les versions d’origine, vous pouvez utiliser ours stratégie de fusion:

 # fetch from the default remote, origin git fetch # create a branch at your current master git branch old-master # reset to origin's master git reset --hard origin/master # merge your old master, keeping "our" (origin/master's) content git merge -s ours old-master 

Vous pouvez soit utiliser la réponse du lien dupliqué pointé par nvm.

Ou vous pouvez résoudre les conflits en utilisant leurs modifications (mais certaines de vos modifications peuvent être conservées si elles n’entrent pas en conflit avec la version distante):

 git pull -s recursive -X theirs