2012-03-10 18 views
13

C'è un hook git che posso usare per i conflitti di merge? Dopo un errore git merge, sarebbe bello poter scrivere uno script che apre tutti i file con conflitti in $EDITOR. Sfortunatamente l'hook post-merge non funziona se ci sono conflitti e da quello che ho visto nella pagina man githooks, non ci sono altri hook applicabili.Git Git per conflitti di unione

Mi chiedo se mi sia sfuggito qualcosa, o se ci sono altre alternative che mancano di aliasing "git merge" in una funzione o qualcosa del genere.

Grazie, Chris

+0

È possibile utilizzare un mergetool personalizzato che è solo un editor piuttosto che un vero mergetool a tre vie ed eseguire 'git mergetool' quando si verificano conflitti. –

+0

Buon suggerimento. Non l'ho considerato perché non mi piace davvero nessuno degli strumenti di unione e ho trovato che risolvevo i miei conflitti direttamente in un editor meglio. Ho trovato [questo] (http://stackoverflow.com/questions/1817370/using-ediff-as-git-mergetool) come una possibile soluzione e penso di personalizzare il [mergetool] (http://schacon.github.com /git/git-mergetool.html) è sicuramente la strada da percorrere. La domanda è ora, cosa fare con la mia domanda? Dovrei fare clic su "Rispondi alla tua domanda" in fondo alla pagina o non fare nulla? – flooose

risposta

0

come suggerito da Charles Bailey , il modo migliore per farlo è personalizzando il mergetool. Utilizzando this guide, mi si avvicinò con questo semplice modo per avere unire i conflitti aperti nel mio editor:

[merge] 
    tool = emacs 
[mergetool "emacs"] 
    cmd = $editor \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" 

Dal Charles Bailey non ha mai risposto come mi dovrebbe dargli merito di questo, spero che questo sia un modo appropriato per finalmente vicino questa domanda.

0

io ci credo forse due modi, come si detto da floose si potrebbe modificare il mergetool o forse si potrebbe creare un altro alias utilizzando:

for i in $(git ls-files -u | cut -f 2 | sort -u); do $EDITOR $i; done 
Problemi correlati