Git, должен тянуть, знать, что будут конфликты, но локальная версия не имеет значения
Я знаю, что при вытягивании будут конфликты, но я уже знаю, что версия репозитория лучше. Как мне разрешить все конфликты в командной строке с помощью команды git
что-то вроде $> git resolve conflict with theirs
или что-то
4 ответа
Если вы не хотите сохранять свои изменения, то тянуть - неправильное действие. Если версия репозитория однозначно лучше, вы можете просто получить и сбросить.
Например
git fetch
# Assuming my branch was based on origin/master,
# throw my changes away.
git reset --hard origin/master
Очевидно, будьте осторожны с этим, так как вы можете потерять незафиксированные изменения. Вы можете сделать простой git reset origin/master
и удалите свои локальные изменения тщательно вручную.
Можете ли вы по-прежнему объединять ваш HEAD с удаленным, не удаляя полностью изменения, но всегда разрешая конфликты в пользу удаленного:
git pull -s recursive -Xtheirs <remote-ref>
Но будьте осторожны - ваши изменения будут частично сохранены, а частично перезаписаны. Это может быть нормально, если вы ожидаете, что они будут перезаписаны в одной части дерева и сохранены в другой, но будьте очень осторожны с результирующим кодом, обязательно просмотрите его и сравните с удаленной версией.
Указав стратегию слияния, вы сможете сделать это:
git fetch
git merge -s recursive -Xtheirs remotes/origin/branch_name
или же
git pull -s recursive -Xtheirs origin master
Стараться сделать
git clean
git pull
если не помогло, то попробуй
git reset --hard HEAD
git pull