2016-09-27 3 views
0

J'essaie d'expliquer mon problème. Je voudrais fusionner un projet local (pas sous git versioning) avec les changements dans sa branche git maître. En d'autres termes, j'ai fait quelques modifications locales à un projet (mais je n'ai pas utilisé git). En attendant, quelques modifications ont été ajoutées à la branche principale. Maintenant, je voudrais mettre à jour ma version locale du projet en faisant une "fusion" entre ma version locale et celle du dépôt git.Force git fusionner selon les changements de git-diff

Ce que j'ai essayé:

  • J'ai créé une branche du maître;
  • J'ai copié mes modifications sur la nouvelle branche;
  • J'ai essayé de fusionner le maître sur la nouvelle branche créée (et, évidemment, cela ne fonctionne pas)

Si j'utilise git-diff entre la nouvelle branche et maître, je vois toutes les différences. Je voudrais avoir une branche avec une telle différence, dans laquelle je résous les conflits causés par les différences.

Une suggestion pour résoudre mon problème?

Répondre

0

Si vous pouvez identifier le commit dans master sur lequel vous avez basé vos changements locaux, vous pouvez vérifier ce commit, créer une "ancienne" version de master "master_old" -branch, y copier vos modifications et les valider. Ensuite, vous pouvez simplement fusionner master dans votre branche et résoudre les conflits qui en résultent.

+0

Malheureusement, je ne peux pas mettre le doigt sur le vieux commettras. –

0

Cela semble compliqué, vous pouvez utiliser un outil de fusion visuelle pour vous aider.

Ou si vous voulez aller à la dernière version sans nouvelles modifications, il suffit d'exécuter git reset --hard HEAD~

mergeconflicts

visual mergetool

+0

Selon les étapes que j'ai faites, je n'ai pas de conflits. Je veux que tous les diffs entre master et ma branche soient traités comme des conflits. –

+0

Vous pouvez le faire manuellement en utilisant 'git add -p' puis' y' pour ajouter cette fois, 'n' pour pas d'ajout cette fois,' s' pour petit, puis 'commit'. Ainsi, vous pouvez ajouter vos changements avant, commettre vieux, puis ajouter vos nouveaux changements, commettre de nouveaux. – ColorWin