Почему я продолжаю получать конфликты слияния?

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

Вот что постоянно выходит из строя:

Почему я продолжаю получать конфликты слияния?

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

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

Это ошибка, которую я получаю:

git revert 8459a53eb21
error: could not revert 8459a53... DCMP-959: added member benefits
hint: after resolving the conflicts, mark the corrected paths
hint: with 'git add <paths>' or 'git rm <paths>'
hint: and commit the result with 'git commit'

Я выполнил git reset HEAD~3, чтобы вернуться на 3 коммита назад, но как мне убедиться, что я не повторю эти последние три коммита, а только тот, к которому я сбросился?


71
1

Ответ:

Решено

git rebase #gitcommithash - при использовании git-rebase результатом будет не новая фиксация в вашем репозитории, а обновленная голова в данной фиксации.

https://git-scm.com/docs/git-rebase

git-rebase также может использоваться для слияния одной ветки с другой. (вместо git слияния)

git-слияние и git-возврат добавляют новый коммит в ваш репозиторий.

Другое возможное решение для этого — использование git reset.

git reset --hard #commithash

затем поместите свое текущее состояние в репозиторий с помощью:

git push --force