2010-03-17 3 views
16

Есть ли простой способ сравнить дерево файлов старой git-фиксации с деревом рабочего файла в meld?git-difftool: полное дерево файлов сравнить с помощью meld?

git-difftool делает что-то очень похожее, но я не хочу, чтобы он действительно делал какие-либо изменения; все дело в том, что инструмент, который он вызывает, может обеспечить лучший интерфейс для этого.

+1

также [более общая версия] (http://stackoverflow.com/questions/1220309/git-difftool-open-all-diff-files-immediately-not- in-serial) этого вопроса –

ответ

9

Я тестировал это в недавней версии meld и теперь он встроен. Вы можете использовать его с meld < путь каталога >, поэтому «meld». работает для текущего каталога. Вы можете проверить версию git co [version], затем git reset [version] ^, а затем запустить «meld». сравнить любую версию с предыдущей версией.

6

Я также нашел этот вопрос раздражающим, поэтому я сделал git meld, который позволяет более комфортно различать произвольные коммиты против рабочего дерева или промежуточной области. Вы можете найти его на https://github.com/wmanley/git-meld.

+2

В чем разница между git-meld и https://github.com/thenigan/git-diffall? Я попробовал и то, и другое, и впечатление, что функциональность идентична. – kynan

+0

@kynan: Не git-meld позволяет вам использовать интерфейс сопоставления каталога meld для просмотра изменений в фиксации, тогда как git-diffall откроет все diff (в интерфейсе diff)? – idbrii

+0

@pydave afaics оба проверяют деревья 2-х версий на разницу во временных каталогах, а затем запускают разницу каталогов на них - никакой разницы нет. – kynan

23

С git > 1.7.11 команда git difftool теперь поддерживает разные полные каталоги, используя команду --dir-diff. Это может быть использовано вместе с meld:

$ git difftool --tool=meld --dir-diff [commit-to-diff-against] 
+0

Это должен быть принятый ответ. – melloc

Смежные вопросы