git difftool для сравнения каталогов? [дубликат]
этот вопрос уже есть ответ здесь:
- сравнение каталогов ветвей Git 3 ответы
можно ли получить команду git difftool, чтобы открыть сравнение каталогов между измененными файлами и промежуточными/проверенными файлами?
поэтому в идеале, если 2 файла изменились, они будут единственными 2 показано, но в каталоге compare.
Я читал сообщения о получении git, чтобы дать все файловые различия параллельно, поэтому такие инструменты, как BeyondCompare, имеют все различия в вкладках, но я не доволен этим!
можно вытащить копию измененных файлов из промежуточных / проверенных файлов во временную папку, а затем открыть ее. Это единственный вариант?
2 ответов
обновление-июнь 2012 (2 с половиной года):
это (сравнение каталогов вместо файла по файлу), кажется, скоро будет доступно:
См.[объявить] Git 1.7.11.ник1:
"
git difftool
" узнал "--dir-diff
" возможность порождать внешние инструменты diff, которые могут сравните две иерархии каталогов после заполнения двух временных директорий, вместо запуска экземпляра внешнего инструмента один раз за файловая пара.
в разделе "патч difftool
: teach difftool
для обработки каталогов diffs"
оригинальный ответ (январь 2010 года)
можно вытащить копию измененных файлов из промежуточных / проверенных файлов во временную папку, а затем открыть ее. Это единственный вариант?
в принципе да:
вы difftool скрипт будет:
- создать 2 каталоги temp
- определяет себя как инструмент diff
- вызов git diff
- который затем называет себя для файла diff
- в этом режиме один и тот же скрипт для каждого файла копирует только две версии в diff в двух временных каталогах
- затем перейдите и вызовите инструменты diff (например, beyondCompare или WinMerge) в двух временных каталогах
у вас есть один первый пример в этот вопрос.
Я всегда использую --dirstat=files
:
rudie@devver:virenze$ git diff --dirstat=files
4.1% modules/custom/virenze_conversations/
7.0% modules/custom/virenze_crs/
8.3% modules/custom/
что означает, что я удалил dirs virenze_conversations
и virenze_crs
на custom
. (Я не знаю, что означают проценты...)
вы, вероятно, можете использовать все нормальные diff
варианты: --cached
, имя ветви etc.