Git отклонено нажатие без перемотки вперед
Я новичок в git, и я работал над небольшим проектом в течение последних двух месяцев и без проблем нажимал на битбакет. Пару дней назад я закрепил папку проекта (так как мне пришлось переустановить мою ОС Linux), и теперь распаковал ее после моей переустановки ОС Linux.
Итак, теперь я пошел в папку своего проекта, долгое время работал и, наконец, сделал:
git add -A && git commit -m "modified code" && git push origin master
.. это то, что я обычно делаю.
и я получаю:
To https://[email protected]/johnsproject/proj.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'https://[email protected]/johnsproject/proj.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
Я просмотрел несколько вопросов SO, где они предлагают использовать флаг силы -f
- но я не уверен, что я должен это делать.
p.s: Я на ведущей ветке - это ветвь only
в моем репо.
Было бы очень полезно, если бы кто-нибудь мог указать мне в правильном направлении здесь.
Спасибо.
Ответы
Ответ 1
В центральном репозитории есть изменения, которые вы должны вытащить, прежде чем вы сможете нажать.
Сделайте
git add -A
git commit -m "my local changes"
git pull
Разрешить любые конфликты. Тогда do
git push
В качестве альтернативы, если у вас нет ценных изменений локально, вы можете создать новый клон своего репо и начать работать оттуда:
git clone https://[email protected]/johnsproject/proj.git new_repo_dir
Ответ 2
Попробуйте сделать
git pull origin master
git add -A
git commit -m "modified code"
git push origin master
Возможно, ваш локальный репозиторий не синхронизирован с удаленным репозиторием.
Ответ 3
У меня была та же проблема. Я исправил с помощью команды git push -f
, которая принудительно обновляет.
Ответ 4
работает для меня git push --set-upstream origin master -f
Ответ 5
в моем случае новый файл из репозитория git не был добавлен, и это было решением 1. git status (только для проверки) 2. git add. 3. git push -u мастер происхождения