Мені дуже подобається рішення Тіма, проте іноді мені подобається возитися у vimdiff. Моє рішення цієї проблеми є грубим, але воно працює для мене, тому що мені подобається vim.
У мене є vimdiff, встановлений як мій difftool, а потім для вибіркового об'єднання я розрізняю гілку:
git difftool <branch> <file>
Потім я переходжу на панель з поточною версією гілки і редагую оригінал у vim (іноді це не потрібно, але іноді vimdiff відкриває версію в / tmp) і вимикаю режим лише для читання:
:e <file>
:set readonly!
Тепер я можу використовувати інструменти виправлення vim, такі як do
і, dp
щоб застосовувати те, що я хочу, і робити інші невеликі редагування, коли я ходжу. Коли я закінчу, я зберігаю файл, виходжу з vim, а потім індексую і фіксую файл у git, як звичайне редагування.
Як я вже говорив, це не особливо складно, але воно дуже потужне, і все ще суто в командному рядку. Тільки не забудьте додати чітке повідомлення коміту, оскільки git не буде автоматично включати повідомлення злиття для вас.
приклад vimdiff http://j.mp/1dZVllt