игнорируя слияния в git - PullRequest
       0

игнорируя слияния в git

1 голос
/ 11 октября 2011

Я не работал над проектом довольно долгое время и только что попытался загрузить последнюю версию.

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

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

Что вы посоветуете мне сделать в этой ситуации?

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

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

Во-первых, это хорошая идея - сохранить прежнюю ветку master на тот случай, если вы захотите вернуться. Вы можете сделать это с помощью:

git branch old-master master^

Затем, если вы хотите сбросить ветку master на версию master, которую вы только что извлекли из хранилища origin, вы можете сделать это с помощью git reset --hard:

# Make sure that you're on the master branch:
git checkout master

# Make sure the remote-tracking branches from origin are up-to-date:
git fetch origin

# Check that there's no output from "git status":
git status

# Now reset master to where origin/master points to:
git reset --hard origin/master

Обратите внимание, что git reset --hard - опасная команда - она ​​отбрасывает любые незафиксированные изменения, поэтому я рекомендую убедиться, что вывод git status чистый перед использованием.

0 голосов
/ 11 октября 2011

Полагаю, простым способом было бы сделать резервную копию вашей локальной ветки master и воссоздать ее ... что-то вроде:

git fetch origin
git checkout master
git branch master -m old-master
git checkout -b master origin/master
git branch -D old-master (if you don't care about your commits there)

Надеюсь, это поможет,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...