Почему пустое репо Bitbucket «содержит работу», которой у меня «нет локально»? - PullRequest
0 голосов
/ 09 мая 2020

В моей системе есть проект, который я хочу сохранить на Bitbucket. Я создал пустой проект на Bitbucket (с помощью Readme), а затем выполнил следующие команды в root моего проекта:

git init
git add --all
git commit -m "Initial commit"
git remote add origin <path-to-repo>
git push -u origin --all

Я получил эти команды из по этой ссылке

Это дало мне ошибку Updates were rejected because the remote contains work that you do not have locally. Он предлагает сделать git pull, но меня беспокоит, что если я это сделаю, он сотрет мою работу локально.

Что мне здесь делать?

1 Ответ

2 голосов
/ 09 мая 2020

Это дало мне ошибку 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 просто и понятно, и все будет хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...