в Git ошибка: не удалось подтолкнуть некоторые ссылки на



по какой-то причине, я не могу нажать сейчас, в то время как я мог бы сделать это вчера.
Может быть, я перепутал с конфигурациями или что-то в этом роде.



вот что происходит:



когда я использую git push origin master



gitbashscr



Как выглядит мой рабочий каталог и удаленный репозиторий:



enter image description here

5379   17  

17 ответов:

если репозиторий GitHub видел новые коммиты, которые были нажаты на него, пока вы работали локально, я бы посоветовал использовать:

git pull --rebase
git push

полный синтаксис:

git pull --rebase origin master
git push origin master

таким образом, вы бы переиграть (--rebase часть) ваши локальные коммиты поверх вновь обновляется!--6--> (или origin/yourBranch:git pull origin yourBranch).

посмотреть более полный пример в Глава 6 потяните с rebase на Git Pocket Book.

я бы рекомендую:

git push -u origin master

это установит связь отслеживания между вашей локальной главной ветвью и ее восходящей ветвью.
После этого любой будущий толчок для этой ветви можно сделать с помощью простого:

git push

в разделе "зачем мне нужно явно нажимать новую ветку?".


так как ОП уже сбросить и переделать его фиксацию на origin/master:

git reset --mixed origin/master
git add .
git commit -m "This is a new commit for what I originally planned to be amended"
git push origin master

нет необходимости pull --rebase.

Примечание: git reset --mixed origin/master также может быть написано git reset origin/master С --mixed опция по умолчанию при использовании git reset.

кто-нибудь попробовать:

git push -f origin master

Это должно решить проблему.

EDIT: на основе комментария @Mehdi ниже мне нужно уточнить кое-что о —force pushing. Команда git выше работает безопасно только для первой фиксации. Если ранее уже были коммиты, запросы на вытягивание или ветви, это сбрасывает все это и устанавливает его с нуля. Если это так, обратитесь к подробному ответу @VonC для лучшего решения.

Если вы только что использовали git init и добавили свои файлы с git add . или что-то подобное и добавили вашу удаленную ветку может быть, что вы просто не совершили (git commit -m 'commit message') что-нибудь локально нажать на пульт... У меня просто была эта ошибка, и это была моя проблема.

У меня была такая же проблема. Я получал эту проблему, потому что я не сделал никакого коммита, даже начального коммита, и все же я пытался нажать.

Как только я сделал git commit -m "your msg" и тогда все работало нормально.

Я нахожу решение этой проблемы в справке github.

вы можете увидеть его из: работа с ошибками без быстрой перемотки вперед

Он говорит:

вы можете исправить это путем извлечения и объединения изменений, внесенных в удаленной ветви с изменениями, которые вы сделали локально:

$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin branch
# Merges updates made online with your local work

или вы можете просто использовать git pull для выполнения обеих команд сразу:

$ git pull origin branch
# Grabs online updates and merges them with your local work

Если вы используете gerrit, это может быть вызвано неправильным изменением-id в фиксации. Попробуйте удалить Change-Id и посмотреть, что произойдет.

переименуйте свою ветку, а затем нажмите, например:

git branch -m new-name
git push -u new-name

это сработало для меня.

Не забудьте зафиксировать свои изменения, прежде чем нажимать на репо Github. Это может решить вашу проблему.

перед нажатием вы должны добавить и зафиксировать изменения или сделать git push -f origin master

Не фиксация начальных изменений перед нажатием также вызывает проблему

Не уверен, что это применимо, но исправление для меня состояло в том, чтобы совершить что-то локально после git init. Затем я перешел к удаленному использованию --set-upstream ...

1) git init

2) git remote add origin https://gitlab.com/crew-chief-systems/bot

3) git remote-v (для проверки текущего репозитория)

4) git add-A (добавить все файлы)

5) git commit-m 'Added my project'

6) git pull --rebase origin master

7) git push origin master

Ну, если ни один из вышеперечисленных ответов не работает, и если вы что-то перепутали с ssh-add в последнее время. Попробуй

ssh-add -D

в моем случае эта ошибка произошла из-за того, что в нашей версии GitLab происходило некоторое обслуживание.

вы также можете исправить это, отредактировав файл конфигурации git вашего проекта:

где это?

.git / config

добавьте следующие строки в конце, если это не так.

[branch "master"] remote = origin merge = refs/heads/master

проблема

в моем случае закрытие редактора (visual studio code) решило проблему.

ошибка git: не удалось нажать некоторые ссылки также приходит, когда имя локального репозитория совпадает с соответствующим именем удаленного репозитория. Убедитесь, что вы работаете над правильной парой репозиториев, прежде чем извлекать изменения в удаленный репозиторий. Если вы пишете неправильно и хотите удалить локальный репозиторий, выполните следующие действия

удаление локального РЕПО из windows 1. del /F /S /Q / A .мерзавец 2. команда rmdir. мерзавец 3. Исправьте имя локальной папки (XXXX02 - >XXXX20) или если оно это вновь созданный РЕПО удалить его и воссоздать РЕПО (XXXX02 имя РЕПО изменилось на XXXX20). 4. git init 5. Повторное сопоставление с удаленным РЕПО, если оно не сопоставлено. 6. git remote add origin https://github.com/ / XXXX20.git 7. git push - U origin master

Comments

    Ничего не найдено.