J'essaie d'obtenir git pour me permettre des fusions très manuel en raison de la façon dont mon code est (longue histoire, il est explained here). Je l'ai presque fait comme je le voulais, juste quelque chose qui manque dans une situation spécifique. Ne devrait pas être trop difficile: J'ai le pilote personnalisé pour utiliser WinMerge avec quelque chose comme c:/wm/winmerge.exe $1 $2 $3
(dans c: /wm/wmrg.sh), git config merge.mnl.driver = "c:/wm/wmrg.sh %B %A %A"
et le echo *.xml merge=mnl > $GIT_DIR/info/attirbutes
.Git fusionner problème de pilote
Maintenant quand je git merge dev
, il ouvre WinMerge un laissez-moi faire le travail - brillant. Juste travail na pas dans la situation suivante:
Avoir mes deux branches (maître et dev) engagé avec quelques modifications en attente dans dev à fusionner en production.
- Retour à
master
- Renommer des fichiers sans rapport avec les changements (permet de dire, certains readme.txt à Manual.txt) dans
dev
et commettre - Aller à
dev
et fusionner ces changements demaster
Le nouveau pilote entre en jeu et vous demande s'il doit passer ces configs aux autres fichiers endev
. [] Vous quittez WinMerge sans enregistrer, donc pas migrer les informations. Après avoir terminé la recherche XML est le txt ne sont pas filtrés et sont renommés en dev ] - maintenant à la
master
, fusiondev
Ici, je me attends le conducteur à coup à nouveau et se comporter la même chose au sujet du XML. Pour une raison quelconque, quand vous essayez de git merge dev
, il décide de fusionner tout cela!
Y a-t-il une sorte de configuration 'par branche' qui m'amène ici? peut-être après git se rend compte que je n'ai pas fait de changements après une dernière fusion, il peut simplement écraser les fichiers dans une certaine direction .. ou même, le type de fusion est basé sur une nouvelle règle plus ancienne qui trouve la situation triviale quel fichier devrait décide être conservé quel que soit son contenu ...
s'il vous plaît conseiller ..
grâce
Je n'ai pas encore réussi à éviter l'intelligence GIT, mais j'ai réussi à utiliser 'cherry-pick' pour appliquer les changements de nom dans ma branche ** dev ** sans subir les auto-fusions. – filippo