Использование araxis merge для сравнения папок в ветках git (OSX)
Я знаю, как настроить araxis merge, чтобы он был моим инструментом git diff / merge, поэтому, если я сделаю git difftool, он автоматически запустит araxis merge.
Однако, если я делаю git difftool upstream/master (чтобы увидеть все различия между текущей веткой и upstream/master), он запускает приложение по одному для каждого отдельного файла, который отличается. Есть ли способ настроить его, чтобы я мог получить представление типа сравнения папок, а затем перейти вниз и просмотреть каждый файл diff по своему выбору? т.е. похоже на это http://www.araxis.com/merge_mac/overview2.html
Единственный способ сделать это - клонировать репо в новую папку, переключиться туда и затем выполнить обычное сравнение папок слияния в araxis.
1 ответ
Я не знаю, если это все еще интересно для вас, но последние версии Araxis предоставляют прямой доступ к репозиториям Git:
http://www.araxis.com/merge/topic_plugin_git.html
Итак, если вы хотите запустить Araxis для сравнения вашего мастера с origin / master, вы сможете сделать это, используя
git log -1 origin/master
получить последний коммит в origin / master (скажем 123456ab
, Затем откройте Araxis и используйте папку с рабочей копией как одну из сторон сравнения (/path/to/repo)
, Другая сторона должна быть установлена в
git:///path/to/repo#123456ab
Затем Araxis сравнит ваш туалет с origin/master
,
Это не особенно удовлетворительный ответ, но единственный способ, который я нашел, - это заставить difftool скопировать файлы во временную папку перед выполнением diff:
git difftool -d master
Это позволит вам открыть любой файл для сравнения в одном корневом редакторе. Однако он не будет работать для копирования дельт в исходные локальные файлы. Лучше, чем ничего, хотя и легко сделать из командной строки.