Это дало мне ошибку Updates were rejected because the remote contains work that you do not have locally
. Предлагает сделать git pull
. Что мне здесь делать?
Делайте то, что написано. git pull
.
Меня беспокоит, что если я это сделаю, это сотрет мою локальную работу.
Ну, перестаньте беспокоиться. Это git. После фиксации ничего не теряется и никогда не теряется.
Почему пустое репо Bitbucket «содержит работу», которую у меня «нет локально»?
Ну, вы сказали ответьте сами: он не пустой! «С помощью Readme», - сказали вы. У вас есть файл Readme? Нет, не знаешь. Таким образом, репозиторий Bitbucket содержит работу, которой у вас нет локально.
EDIT Таким образом, проблема с инструкциями, которым вы пытались следовать, заключается в том, что эти инструкции предполагают, что ваше репозиторий Bitbucket пуст - а мы уже установили, что это не так. Что ж, в git push -u
смысл u
состоит в том, чтобы связать вашу ветку master
с веткой Bitbucket master
. Вам нужно сделать это, чтобы сделать sh или вытащить, и вам разрешено сделать это в первый раз, когда вы sh. Хорошо, но git push -u
работает, только если вы можете pu sh. Но вы не можете pu sh, потому что вы не загрузили Readme. И вы не можете вытащить Readme, потому что git push -u
не удалось! Catch-22 !!
Решение состоит в том, чтобы вмешаться вручную, сказав (на master
):
git branch -u origin/master
Теперь вы сформировали необходимую ассоциацию и можете просто git pull
и git push
просто и понятно, и все будет хорошо.