Как правильно сделать push после --amend

Работая с git я сделал commit. После чего сделал push его на githab. Через некоторое время решил сделать исправление и попробовал сделать команду commit --amend. Раньше ей не пользовался, а просто делал новый коммит. Команда прошла и решил так же сделать push. Но git ругнулся на конфликт - файлы изменились. Я думал что он просто заменит исправленный коммит на удаленной ветке. Как теперь запушить его на github? Ветку, с момента первого пуша, с гита точно еще никто не скачивал и не работал на ней, коммиты никто не добавлял.


Ответы (2 шт):

Автор решения: AlexGlebe

В инструкции намекают на pull. Она делает fetch и потом слияние. Потом можно будет и push делать.

Сервер :

A -> B

Вы с commit --amend :

A   -> B'
  \
   \-> B

Делаем pull и push :

A   ->  B' ->  C
  \          ^
   \->  B  -/

А удалить коммит всегда успеете. После того, как все удалённые контакты на коммит B уйдут дальше.

→ Ссылка
Автор решения: HolyBlackCat

git push --force-with-lease. Или менее безопасный git push --force.

Обычный пуш может только добавлять новые коммиты. А --amend по сути удаляет один коммит и добавляет другой, поэтому без force[-with-lease] такое не запушить.

→ Ссылка