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

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

Я не хочу объединяться, потому что в этом и проблема.

Допустим, мой репозиторий выглядит так: (буквы — это коммиты)

А Б В Г Д Е Ж

«A» — это голова. И у меня есть два коммита («E» и «C», от которых я хочу избавиться). Если я просто удалю эти два конкретных коммита, то я просто получу еще два коммита поверх головы, сообщающих мне, что я отменил два коммита. Я этого не хочу. Я хочу, чтобы мой репозиторий выглядел так же, как удаленный репозиторий, в который я разветвляюсь.

Проблема в том, что я не могу выполнить никакую работу, потому что каждый раз, когда я отправляю коммит, он также отправляет коммиты «E» и «C».

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

решение1

Попытался ли ты:

git rebase -i A

И отмените коммиты C и E.

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

Связанный контент