Вы бежали:
git branch -f origin/start-defblock-on-long-hyphen 37fba70e
Это была ошибка!Это создало локальную ветку с именем origin/start-defblock-on-long-hyphen
.Эта ситуация довольно запутанная (для всех), потому что обычно имена, начинающиеся с origin/
, зарезервированы для ваших собственных имен для удаленного отслеживания.
Ваш вывод git log
теперь начинается с:
commit 37fba70ef7db1ce244d6e0c0d4e3b42d95dd7cb0 (HEAD -> origin/start-defblock-on-long-hyphen)
Это означает, что вы также запустили git checkout origin/start-defblock-on-long-hyphen
, и теперь это ваша текущая ветвь.
Чтобы это исправить, вам, вероятно, следует сначала переименовать эту локальную ветку в более локально выглядящее имя:
git branch -m origin/start-defblock-on-long-hyphen start-defblock-on-long-hyphen
Я ожидаю, что это не удастся, потому что я верю, что у также есть локальная ветвь с именем start-defblock-on-long-hyphen
.Если это так, вы можете:
- переименовать эту ветку, затем переименовать эту;
- удалить эту ветку, а затем переименовать эту;или
- проверить эту ветвь, принудительно применить к ней нужный коммит и полностью удалить локальное имя
origin/
.
Точный выбор того, какое из этих действий выполнитьдля вас - каждый немного, немного отличается, но в конце концов они, вероятно, в конечном итоге будут иметь одинаковый эффект. Самый безопасный - сначала переименовать локальный, затем локальный origin/
:
git branch -m start-defblock-on-long-hyphen old-start-defblock-on-long-hyphen
git branch -m origin/start-defblock-on-long-hyphen start-defblock-on-long-hyphen
(обратите внимание, что если у вас уже есть локальная ветвь с именем start-defblock-on-long-hyphen
,у вас есть отдельная проблема).Как только вы это сделаете, вы можете повторить:
git push origin start-defblock-on-long-hyphen
, которая должна немедленно завершиться неудачей, потому что вам придется использовать --force
или эквивалентный ему для команды Git на принимающей сторонеэтой операции, т. е. Git на Bitbucket, чтобы потерять все дополнительные коммиты, но если это цель, и любые другие пользователи этого Bitbucket Git соглашаются, что можно их потерять, продолжайте и используйте --force
.Вы также можете использовать флаг -u
или --set-upstream
во время push, то есть:
git push --force -u origin start-defblock-on-long-hyphen