Git, должен тянуть, знать, что будут конфликты, но локальная версия не имеет значения - PullRequest
3 голосов
/ 08 ноября 2011

Я знаю, что при вытягивании будут конфликты, но я уже знаю, что версия хранилища лучше. Как мне разрешить все конфликты в командной строке с помощью команды git

что-то вроде $> git resolve conflict with theirs или что-то

Ответы [ 4 ]

5 голосов
/ 08 ноября 2011

Если вы не хотите сохранять свои изменения, вытащить это неправильное действие.Если версия хранилища однозначно лучше, вы можете просто извлечь и сбросить ее.

Например

git fetch

# Assuming my branch was based on origin/master,
# throw my changes away.
git reset --hard origin/master

Очевидно, что будьте осторожны с этим, поскольку вы можете потерять незафиксированные изменения.Вы можете сделать простой git reset origin/master и тщательно удалить локальные изменения вручную.

3 голосов
/ 08 ноября 2011

Указав стратегию слияния, вы сможете сделать это:

git fetch
git merge -s recursive -Xtheirs remotes/origin/branch_name

или

git pull -s recursive -Xtheirs origin master
3 голосов
/ 08 ноября 2011

Можете ли вы по-прежнему объединять свою HEAD с пультом дистанционного управления, не удаляя при этом полностью изменения, но всегда разрешая конфликты в пользу удаленного:

git pull -s recursive -Xtheirs <remote-ref>

Но будьте осторожны - ваши изменения будут частично сохранены,и частично перезаписано.Это может быть нормально, если вы ожидаете, что они будут перезаписаны в одной части дерева и сохранены в другой, но будьте очень осторожны с полученным кодом, обязательно просмотрите его и сравните с удаленной версией.

0 голосов
/ 08 ноября 2011

Попробуйте сделать

git clean
git pull

, если не помогло, тогда попробуйте

git reset --hard HEAD
git pull
...