в Git ошибка: не удалось подтолкнуть некоторые ссылки на
по какой-то причине я не могу нажать сейчас, тогда как я мог бы сделать это вчера. Может, я напортачил с конфигурацией или что-то в этом роде.
вот что происходит:
когда я использую git push origin master
Как выглядит мой рабочий каталог и удаленный репозиторий:
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, это может быть вызвано неправильным идентификатором изменения в фиксации. Попробуйте удалить Change-Id и посмотрите, что произойдет.
переименуйте свою ветку, а затем нажмите, например:
git branch -m new-name
git push -u new-name
это сработало для меня.
Не забудьте зафиксировать изменения, прежде чем нажимать на репо Github. Это может решить вашу проблему.
Не уверен, что это применимо, но исправление для меня было зафиксировать что-то локально после git init. Затем я нажал на remote, используя --set-upstream ...
1) git init
2) git remote добавить origin https://gitlab.com/crew-chief-systems/bot
3) git remote-v (для проверки текущего репозитория)
4) git add-A (добавить все файлы)
5) git commit-m 'добавлен мой проект'
6) git pull --rebase origin master
7) git push origin master
Ну, если ни один из вышеперечисленных ответов не работает, и если вы что-то перепутали с ssh-add
в последнее время. Попробуй!--3-->
ssh-add -D
в моем случае эта ошибка произошла потому, что в нашей версии GitLab происходило некоторое обслуживание.
вы также можете исправить это, отредактировав файл конфигурации git вашего проекта:
где это?
.git / config
добавить следующие строки в конце, если они не.
[branch "master"]
remote = origin
merge = refs/heads/master
проблема
ошибка git: не удалось нажать некоторые ссылки также приходит, когда имя локального репозитория совпадает с соответствующим именем удаленного репозитория. Убедитесь, что вы работаете над правильной парой репозиториев, прежде чем извлекать изменения в удаленный репозиторий. Если вы пишете неправильно и хотите удалить локальный репозиторий, используйте следующие шаги
удаление локального РЕПО из windows 1. del /F /S /Q / A .мерзавец 2. команда rmdir. мерзавец 3. Исправьте имя локальной папки(XXXX02->XXXX20) или если оно является вновь созданным РЕПО удалить его и воссоздать РЕПО (XXXX02 имя РЕПО изменено на XXXX20). 4. ГИТ инит 5. Remap с удаленным РЕПО, если он не сопоставлен. 6. git remote добавить origin https://github.com/ / XXXX20.git 7. git толчок -U в мастер-происхождения