Я знаю, как объединить изменения, используя vimdiff, но, если я просто знаю, что весь файл можно сохранить или выбросить, как мне это сделать?
Я не хочу открывать vimdiff для каждого из них, я хочу изменить команду на «локальный» или «удаленный».
Е.Г .: Я получил слияние с файлами, помеченными как измененные, потому что кто-то открыл его под окнами, изменил EOL, а затем подтвердил. При слиянии я хочу просто сохранить свою версию и отказаться от своей.
Меня также интересует обратное: я облажался и хочу принять удаленный файл, отменив свои изменения.
git version 1.8.4
если это имеет значение.Этот подход кажется более простым, избегая необходимости индивидуально выбирать каждый файл:
или
Скопировано непосредственно из: Разрешить конфликты Git слияния в пользу их изменений во время вытягивания
источник
git checkout {branch-name} -- {file-name}
Это будет использовать файл из выбранной ветви.
Мне нравится это, потому что
posh-git
автозаполнение прекрасно работает с этим. Это также устраняет любую неопределенность в отношении того, какая ветка удаленная, а какая локальная. И все--theirs
равно не работал для меня.источник
Для конца строки, обратитесь к
man git-merge
:Обязательно добавьте
autocrlf = false
и / илиsafecrlf = false
в клон Windows (.git / config)Использование git mergetool
Если вы настраиваете mergetool следующим образом:
Тогда простой
Сделаю работу
Использование простых команд git
В других случаях я предполагаю
должен сделать трюк
Изменить, чтобы сделать обратное (потому что вы облажались):
источник
git checkout remote/branch_to_merge -- path/to/myfile.txt
работает как шарм при разрешении конфликта слияния. (git 1.7.1)