Diciamo che ho un file con questo contenuto in master
:Perché git genera un conflitto di unione quando le linee l'una accanto all'altra vengono cambiate?
Line 1
Line 2
Line 3
Line 4
Ora dicono creo e nella verifica di un nuovo ramo chiamato test
. In questo ramo modifico il file a questo:
Line 1
Line 2
Line 3 Modified
Line 4
e affido questo e tornare a master
. Nel master cambio il file in:
Line 1
Line 2
Line 3
Line 4 Modified
e impegno. Ora se unisco il ramo test
in master
, ho un conflitto.
Perché non è possibile risolvere automaticamente questo problema utilizzando l'antenato comune? Se dico a git di modificare i conflitti usando BeyondCompare come difftool, BeyondCompare autorizza a risolvere questo problema senza nemmeno dirlo all'utente, poiché questo non è un vero conflitto. C'è un modo per ottenere git per autoresolvolare questi? Ho provato le strategie di unione recursive
e resolve
ma nessuno dei due lo fa.
È un problema nella nostra azienda perché ci sono determinati file in cui più sviluppatori modificano le linee nelle immediate vicinanze e questo provoca molti conflitti inutili quando lo fanno.
Grazie per la risposta. Utilizziamo già vari strumenti di unione esterni per git e risolvono automaticamente questi conflitti di prossimità da soli. Comunque sto cercando un modo per smettere di unire git in pausa su un tale non conflitto, in primo luogo, come spesso accade per essere fastidioso. – Falconne
totalmente d'accordo! (Sono interessato ad altre risposte/soluzioni ...). un'altra cosa interessante è la fine della linea .. nel caso in cui ci siano sviluppatori che lavorano in diff. Sistema operativo, ad es. Windows e gli editori di Ubuntu pensano in modo diverso rispetto al fine linea ... questo causa molti conflitti di fusione. –