2015-12-09 13 views
5

Quando si unisce un ramo git a un altro, una fonte comune di conflitti di unione si trova in uno dei miei file XML, dove nuovo (ma diverso) XML è stato aggiunto nello stesso punto di inserimento del file su entrambi i rami. Nel mio caso, voglio git per includere automaticamente l'XML appena inserito da entrambi i rami nel risultato unito, e non mi interessa quali modifiche del ramo vengano inserite sopra l'altra.Unione di modifiche al file XML in git

E 'possibile configurare git per farlo?

Edit: ho trovato che posso mettere la linea:

*.xml merge=union 

nel file .gitattributes - ma questo non funziona del tutto il modo in cui vorrei.

Say sul mio ramo di lavoro, è stato aggiunto questo XML:

<itemlist id="1"> 
    <item id="1"></item> 
</itemlist> 

E poi sul ramo che intendo unire in mio, questo è stato aggiunto - esattamente nella stessa posizione:

<itemlist id="2"> 
    <item id="2"></item> 
</itemlist> 

Quindi, git nota che entrambi i gruppi di modifiche terminano nello stesso testo (cioè la linea con il tag di chiusura attivo). Sembra pensare che perché entrambe le parti hanno aggiunto lo stesso testo, non dovrebbe duplicare il testo nella fusione, così finisce solo fino inserendo la seguente durante l'unione:

<itemlist id="2"> 
    <item id="2"></item> 

Quale dei risultati del corso in invalida XML.

C'è ulteriore configurazione che posso fare per disattivare questa opzione "solo-merge-cambia-non-si-cambia-nel-ramo-lavoro"?

+0

Eventuali duplicati di [H è in grado di gestire xml/html nel flusso di lavoro della feature feature git?] (http://stackoverflow.com/questions/1681762/how-to-handle-xml-html-in-git-feature-branch-workflow) –

risposta

0

Non esiste una cosa come unione unione in git, e ciò che si desidera fare non è possibile in quei giorni.

È possibile scegliere solo da delle diverse strategie

  • ricorsive
  • polipo
  • nostra
  • loro
  • sottostruttura
  • pazienza