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