онлайн-репозиторий включает в себя только начальную фиксацию и один файл readme
Это ваша проблема.Ваша локальная копия не содержит этого коммита.
Я бы, вероятно, исправил бы его, добавив удаленный, получив origin/master
, перебазировав (не объединяя) мою локальную работу сверху, а затем нажав:
git remote add origin <url>
git fetch origin
git checkout master
git rebase origin/master
git push
Конечно, если вы предпочитаете объединяться, это тоже хорошо.Но у вас есть синтаксическая ошибка:
$ git merge origin master
merge: origin - not something we can merge
Вам необходимо объединить origin/master
(один аргумент, называющий ссылку на удаленное отслеживание), а не origin master
(два аргумента).
Ваш git pull
не выполнен, поскольку нет информации для отслеживания для master
:
$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> master
Git не знает, к какой удаленной ветви перейтиизвлекать и объединяться с вашим локальным master
, но вы можете сказать это с помощью git branch --set-upstream-to
, как следует из сообщения об ошибке.
Пожалуйста, обязательно прочитайте сообщения об ошибках, которые предоставляет Git.Они могут быть немного плотными, но они содержат полезную информацию.
Любые идеи о том, как это исправить, кроме загрузки с веб-сайта и использования опции --force
или -f
(я знаю,это может не вызывать проблем здесь, но обычно мы не должны его использовать)?
В этом случае, если вы не хотите README, созданный GitHub, я не вижу никакого вреда в принудительном толкании(хотя я бы порекомендовал сначала извлечь и использовать --force-with-lease
, что с меньшей вероятностью позволит вам сделать коммит, которого вы не знаете).