Git отменить слияние 3 веток - PullRequest
1 голос
/ 11 июля 2011

Я не очень знаком с Git.У меня есть основы, но это все.

В любом случае, мой друг помог мне объединить эти 3 ветви.Он оставил меня, чтобы сам управлять частью mergetools.Я не сделал слияние правильно, но уже подтолкнул изменения.Есть ли какой-то способ отменить мои изменения, чтобы он снова превратился в 3 разные ветви, а затем снова слился?

edit *

Не уверен на 100%, если это важно, но 2 изветви от восходящего.

Ответы [ 2 ]

1 голос
/ 11 июля 2011

Определите идентификатор фиксации последнего чистого состояния (т. Е. Зафиксировать перед слиянием), например, с помощью git log и сбросьте его до этого.

git reset --hard abcdef01

После этого принудительно толкаем ваше старое состояние.

git push -f origin

Имейте в виду: reset --hard откажется от непроверенных изменений, поэтому убедитесь, что у вас есть чистый рабочий каталог. Сделайте git stash, если не уверены. Кроме того, это будет работать без проблем, только если вы больше не работали над состоянием слияния, то есть с тех пор вы ничего не фиксировали.

Справочные страницы:

0 голосов
/ 11 июля 2011

Вы можете использовать git revert <>, но между последним чистым коммитом и текущим head будет так много коммитов.Я не знаю много команд git, но должен быть способ напечатать все коммиты между ними.Вы можете написать какой-нибудь скрипт для извлечения только SHA и возврата их всех.:)

...