Как мне принять все изменения с пульта? - PullRequest
9 голосов
/ 26 апреля 2010

Я выполняю pull-origin some_branch и вижу, что изменений много. В конце концов, я не против, если они сотрут все мои.

Как я могу принять их все вместо этого или использовать mergetool и объединять файлы один за другим?

Ответы [ 3 ]

8 голосов
/ 18 января 2011

Просто:

    git clone $url

Серьезно! Это лучший способ.

Вы можете выполнять всевозможные команды git reset и git branch для перемещения ссылок, но единственной целью будет сохранение ваших коммитов где-нибудь в вашем локальном репозитории для дальнейшего использования. Если это цель, просто оставьте весь репозиторий как есть и повторно клонируйте источник.

Чтобы принять все изменения только в одной ветви, foo:

    git checkout foo
    git fetch origin +refs/heads/foo:refs/remotes/origin/foo
    git reset refs/remotes/origin/foo

foo теперь будет указывать на тот же коммит, что и foo на origin. Если вы хотите удалить файлы из вашего рабочего каталога, добавьте --hard к git reset. Если вы хотите объединить сначала, замените fetch на pull.

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

5 голосов
/ 11 сентября 2012

Или:

git status | grep "both " | cut -f2 | cut -f11 -d" " | xargs git checkout --theirs
git status | grep "both " | cut -f2 | cut -f11 -d" " | xargs git add

, что заставляет принимать все конфликтующие удаленные файлы.

0 голосов
/ 23 июня 2011

Вот подход, который я использовал, который, кажется, в порядке. У меня есть ветка под названием "их", которая содержит новую версию всего, что есть в пульте. Версия под названием "наша" - это моя работа, основанная на их давней версии, в которой слишком много несоответствующих изменений, но много дополнений (новые подкаталоги сайтов / всех), которые я хочу сохранить.

git checkout ours
git checkout theirs -- *.php *.txt *.config modules themes includes scripts
git commit -m "New version with all new key files from 'theirs'"

Пока список файлов и каталогов во втором оформлении я получил правильно, это должно быть нормально.

Если бы я хотел, чтобы история основывалась на "их" ветке, я мог бы сделать это наоборот.

...