2015-03-03 39 views
5

Voglio usare la combinazione come strumento di diffusione per git.Utilizzo di meld come difftool per git ma elencando tutti i file in una finestra

Se configura il .gitconfig in questo modo: comando

[difftool] 
    prompt = false 
[diff] 
    tool = meld 

ed eseguire: $ git difftool
quindi git aprire una finestra di fusione per ogni file che hanno modifiche.

Ma voglio una sola finestra con tutti i miei file nella casella di riepilogo della combinazione. Ho letto un po 'circa l'opzione -d o --dir-diff.
Quando provo: $ git difftool -d
quindi una singola finestra viene aperta con un albero di directory in ogni parte di combinazione, ma o contengono directory vuote.
Non riesco ad aprire i miei file da qui.

enter image description here

Per infomation:

$ git --version 
git version 1.9.1 
$ meld --version 
meld 1.8.4 
$ lsb_release -d 
Description: Ubuntu 14.04.2 LTS 

Sto usando git svn anche, ma non credo che questo è legato a mio problema; perché per quanto ho capito git-svn, la mia directory funziona come una semplice directory git.

domande correlate:
View differences of branches with meld?

risposta

10

Ho corretto il mio problema rimuovendo fusione e utilizzare una nuova versione (3.12.3) di esso:
sudo apt-get remove meld

Ora il mio .gitconfig è come:

[difftool] 
    prompt = false 

[diff] 
    tool = meld 
    guitool = meld 

[difftool "meld"] 
    path = /home/me/App/meld/meld-3.12.3/bin/meld 

E il risultato dei seguenti comandi sono:

  • git diff: diff terminale di ciascun file modificati
  • git diff <myfile>: diff terminale <myfile>
  • git difftool <myfile>: fondersi diff di <myfile>
  • git difftool: fondersi diff di ogni file modificati, uno bye uno
  • git difftool -d: mescolare diff di ogni file, in una singola finestra

I ho anche aggiunto questa linea al mio bash_alias ma penso che potrebbe funzionare senza.
alias meld='/home/benjamin/Applications/meld/meld-3.12.3/bin/meld'

+1

per questo uno: [ "fusione" difftool] path = /home/me/App/meld/meld-3.12.3/bin/meld Ho provato questo nel comando per sapere dove è fondere installato: whereis meld ed è/usr/bin/meld –