Удалить коммит из ветки master через запрос на извлечение - PullRequest
0 голосов
/ 30 апреля 2018

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

Я выполнил следующие шаги:

git checkout -b commitreversal
git reset --hard HEAD~1
git push origin commitreversal --force

Когда я пытаюсь поднять пулл-запрос с веткой commitreversal , он говорит

"Нечего сравнивать. Мастер в курсе всех фиксирует из фиксации. "

Что мне делать?

1 Ответ

0 голосов
/ 30 апреля 2018

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

Если вы действительно хотите переписать историю, вам нужно будет обратиться к кому-то, у кого есть административные привилегии для этого хранилища, и попросить его внести изменения и сделать git push --force. Это будет означать, что каждому, у кого есть клон этого хранилища, в основном придется повторно клонировать его (или выполнить жесткий сброс), чтобы вернуться к рабочей версии.

Или, как предложил @jonrsharpe, вам следует сделать возврат вместо полного сброса.

git revert commit-id

где commit-id - это хэш-идентификатор коммита, который вы пытаетесь удалить.

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

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