Как перезаписать все коммиты после определенного коммита без необходимости использовать git pull?

Я git reset --hard <specific commit from earlier> а затем сделал несколько новых коммитов. Когда я пытаюсь выдвинуть эти новые изменения, мне предлагается выполнить git pull, чтобы получить изменения, внесенные после <specific commit from earlier>, Я пытаюсь просто написать об этих изменениях, git побуждает меня тянуть. Это простой проект, поэтому у меня только одна основная ветка. Какой лучший способ исправить?

2 ответа

Решение

При выполнении git reset --hard <earlier commit> и затем, пытаясь это подтолкнуть, вы фактически пытаетесь изменить историю (удалив ее). Изменение истории не допускается, если только --force или же --force-with-lease (желательно) флаг дается на git push,

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

Больше информации на man git-push.

Вы можете принудительно нажать ваши изменения с этой командой:

git push origin <your_branch_name> --force

Другие вопросы по тегам