Github "были отклонены, поскольку удаленный файл содержит работу, которой у вас нет"

Я создал новое репо, клонировал его, добавил файлы в каталог, добавил их с помощью add -A, зафиксировал изменения, и когда я пытаюсь нажать, используя git push <repo name> master, я получаю "Обновления были отклонены, поскольку удаленный файл содержит работу, которая у вас нет".

Это не имеет смысла, поскольку это новое репо и содержит только файл readme.

Ответ 1

Это происходит, если вы инициализировали новый репозиторий github с README и/или LICENSE файлом

git remote add origin [//your github url]

//pull those changes

git pull origin master

//now, push your work to your new repo

git push origin master

Теперь вы сможете подтолкнуть свой репозиторий к github. В принципе, вы должны объединить эти новые инициализированные файлы с вашей работой. git pull выборки и слияния для вас. Вы также можете выбрать и слить, если это вам подходит.

Ответ 2

Ошибка, возможно, возникает из-за разной структуры кода, который вы фиксируете и который присутствует на GitHub. Это создает конфликты, которые могут быть решены

git pull

Разрешение конфликтов слияния:

git push

Если вы подтвердите, что с вашим новым кодом все в порядке, вы можете использовать:

git push -f origin master

Где -f означает "принудительное принятие".

Ответ 3

Если это ваш первый толчок

просто измените

git push <repo name> master

изменить это так!

git push -f <repo name> master

Ответ 4

Предоставленные ответы не работают для меня.

У меня было пустое хранилище на GitHub только с файлом LICENSE и одним коммитом локально. Что сработало было:

$ git fetch
$ git merge --allow-unrelated-histories
Merge made by the 'recursive' strategy.
 LICENSE | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
 create mode 100644 LICENSE