Я зазвичай використовую git у командному рядку.
Але коли виникає конфлікт злиття, я використовую Vim для їх вирішення (особисто я це роблю з плагіном-втікачем). Примітка: втікач корисний для багатьох маніпуляцій з git зсередини Vim. Моя улюблена особливість - це 3-х різний конфлікт злиття.
git підтримує це у vimdiff через git mergetool. Я встановив втікача, але ви можете встановити його вручну (спасибі @ Джей Томпсон).
Налаштування вручну:
git config --global merge.tool vimdiff
git mergetool <file with conflicts>
Вихід трохи відрізняється від описаного нижче (я особисто цього не використовував). Але принцип той самий, але у вас внизу четверте вікно, яке містить результат.
Налаштуйте з втікачем
vim-fugitive - це плагін git обгортка / інтеграційний плагін для Vim; вона може зробити багато речей, і вирішення конфліктів - одна з них.
<Install the Fugitive Plugin>
vim <file with conflicts>
:Gdiff
- Перегляд 2 (зліва): код, який був у вашій філії.
- Перегляд 1 (посередині): об'єднаний код (із конфліктами)
- Перегляд 3 (праворуч): код, який був об'єднаний у ваш код.
Тепер ви можете витягнути і отримати текст з двох інших подань у центральний вигляд (який містить усі виправлення вручну). Після того як ви вирішите всі конфлікти вручну, просто вийдіть з vimdiff
Хоча ви можете використовувати :diffget <view number>
та :diffput <view number>
перетягувати речі між видами. Я особисто не вважаю це дуже корисним. Весь код уже знаходиться в середньому вікні. Тому я просто люблю редагувати цей погляд вручну, поки конфлікт не буде вирішений. Можливість бачити обидві версії коду з обох боків вікна мого редактора, хоча це надзвичайно корисно.
Також дуже хороша демонстрація його використання тут