Я использую (Windows) SourceTree для своего проекта git. Я могу сделать это либо в командной строке, либо в терминале Linux.
Но мне интересно, есть ли хороший способ интерактивного и визуального разрешения конфликтов. Например, если вытягивание обнаруживает конфликты, появляется средство управления конфликтами на основе графического интерфейса пользователя (например, P4Merge). Является ли это возможным?
Я всегда занимаюсь разрешением конфликтов вручную, что очень болезненно.
Это, например, pull
сообщение git от SourceTree.
git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
* branch master -> FETCH_HEAD
Updating 33c07bf..41e0249
error: Your local changes to the following files would be overwritten by merge:
foo.cpp
goo.cpp
goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting
Completed with errors, see above.
Я использую SourceTree вместе с TortoiseMerge / Diff, который является очень простым и удобным инструментом сравнения / слияния.
Если вы тоже хотите его использовать, то:
Получите автономную версию TortoiseMerge / Diff (довольно старую, поскольку она не поставляется отдельно, начиная с версии 1.6.7 TortosieSVN, то есть с июля 2011 года). Ссылки и подробности в этом ответе .
Разархивируйте
TortoiseIDiff.exe
иTortoiseMerge.exe
в любую папку (c:\Program Files (x86)\Atlassian\SourceTree\extras\
в моем случае).В SourceTree откройте
Tools > Options > Diff > External Diff / Merge
. ВыбратьTortoiseMerge
в обоих раскрывающихся списках.Нажмите
OK
и укажите SourceTree на ваше местоположениеTortoiseIDiff.exe
иTortoiseMerge.exe
.После этого вы можете выбрать
Resolve Conflicts > Launch External Merge Tool
из контекстного меню каждый конфликтующий файл в вашем локальном репозитории. Это откроет TortoiseMerge, где вы сможете легко справиться со всеми имеющимися у вас конфликтами. После завершения просто закройте TortoiseMerge (вам даже не нужно сохранять изменения, это, вероятно, будет сделано автоматически), и через несколько секунд SourceTree должен обработать это изящно.Единственная проблема в том, что он автоматически создает резервную копию, даже если соответствующий параметр не отмечен .
источник
Когда Resolve Conflicts-> Content Menu отключены, один из них может быть в списке ожидающих файлов. Нам нужно выбрать опцию Конфликтующие файлы из выпадающего (вверху)
Надеюсь, поможет
источник