Удаление или отмена нажатия на удаленный репозиторий 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".