Удаление или отмена нажатия на удаленный репозиторий Git

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

Я пробовал git push origin :master, но получил ошибку:

! [remote rejected] master (branch is currently checked out)
error: failed to push some refs to 'ssh://.................

Есть ли простой способ проверить его? "проверка" или "проверка" (и другие варианты) не дают никаких релевантных результатов.

Ответы

Ответ 1

branch is currently checked out

Это означает, что ваш ретранслятор не является репозитарием (т.е. репозиторий без какого-либо рабочего дерева, что означает, что ветвь проверена). Плюс, что удалит все ветки master!

Если у вас есть доступ к серверу, на котором выполняется ваше дистанционное репо, вы можете reset ведущую ветвь до HEAD~1, чтобы удалить то, что только что было нажато (предполагая, что вы единственный человек, который нажимает на него).

Если у вас нет прямого доступа, вы можете перейти к правильному локальному репо и принудительно нажать, чтобы правильно управлять HEAD:

git push origin HEAD --force

Но я бы также рекомендовал преобразование удаленного репо в голый репозиторий.

Ответ 2

То, что вы пытались сделать, удалит ветвь ветки, а не коммит. Определенно не то, что вы хотите. Однако удаление центральных коммитов - идея BAD. Вместо этого используйте "git revert".