Ответ 1
У меня есть версия SourceTree 1.5.2.0, и я настроил внешний инструмент слияния, как показано на скриншоте. P4Merge устанавливается в C:\Program Files\Perforce и не находится на Path
. Я не задал никаких конкретных значений в .gitconfig в отношении инструментов diff/merge (я понимаю, что это "работает на мой машинный ответ", но это было действительно так просто).
Что касается рабочего процесса, разные команды могут иметь разные подходы. То, что мы делаем в нашей команде для каждой работы функции (обычно это делается только одним разработчиком), является следующим (скриншоты о том, как выполнять каждую операцию в SourceTree, находятся в конце сообщения):
- Rebase develop branch
- Создать новую ветку функций
- Работа над функцией, совершение коммитов (обычно, несколько)
- Если было разработано много изменений, поскольку временное ветвление было выполнено, мы можем объединить разработку с нашей веткой функций, чтобы разрешить любые потенциальные конфликты и убедиться, что функция все еще работает.
- Объединить, чтобы развить ветку, за которой следует Push - наш CI настроен на запуск развертывания в тестовую среду, когда новые изменения перенаправляются на разработку ветки
- Если все хорошо, мы объединяем разветвленную ветвь в master-ветку, которая запускает развертывание в производственной среде
Чтобы создать новую ветку из разработки:
Чтобы объединиться, перейдите в ветвь функции:
Вот как SourceTree показывает, что после слияния возникают конфликты:
Обновление:. Чтобы проверить правильность настройки SourceTree, я предлагаю вам сделать следующее:
- Загрузите и распакуйте локально небольшой репозиторий с двумя ветвями из https://1drv.ms/u/s!Ahrx2cBEbNLOy1xsUNuZJrUe80Ox
- Добавьте этот репозиторий в SourceTree, выполнив: File - Clone/New... - Добавить рабочую копию - [select folder 'git -config']
- Щелкните правой кнопкой мыши ветку с именем "origin/version-2" и выберите "merge"
- Вы должны увидеть предупреждение о конфликтах слияния, а затем после щелчка правой кнопкой мыши на файле .txt должно появиться следующее: