Сообщение 'src refspec master не совпадает ни с одним' при отправке коммитов в Git
Я клонирую свой репозиторий с помощью:
git clone ssh://xxxxx/xx.git
Но после того, как я изменю некоторые файлы, add
и commit
их, я хочу отправить их на сервер:
git add xxx.php
git commit -m "TEST"
git push origin master
Но ошибка, которую я получаю обратно:
error: src refspec master does not match any.
error: failed to push some refs to 'ssh://xxxxx.com/project.git'
Ответы
Ответ 1
Возможно, вам просто нужно зафиксировать. Я столкнулся с этим, когда сделал:
mkdir repo && cd repo
git remote add origin /path/to/origin.git
git add .
Oops! Никогда не совершал!
git push -u origin master
error: src refspec master does not match any.
Все, что мне нужно было сделать:
git commit -m "initial commit"
git push origin master
Успех!
Ответ 2
-
Попробуйте git show-ref
посмотреть, что у вас есть. Есть ли refs/heads/master
?
-
Вы можете попробовать git push origin HEAD:master
как более локально-независимое решение. Это явно указано, что вы хотите, чтобы подтолкнуть локальный реф HEAD
к удаленному рефу master
(см refspec ГИТА-нажимной документация).
Ответ 3
У меня также была аналогичная ошибка после удаления всех файлов на моем локальном компьютере, и я должен очистить все файлы в репозитории.
Мое сообщение об ошибке было примерно таким:
error: src refspec master does not match any.
error: failed to push some refs to '[email protected] ... .git'
и он решил выполнить следующие команды:
touch README
git add README
git add (all other files)
git commit -m 'reinitialized files'
git push origin master --force # <- caution, --force can delete others work.
Это, надеюсь, это поможет.
Ответ 4
- Мои изменения уже были совершены
- Force push все равно дал мне ту же ошибку.
Итак, я попробовал Vi-решение:
git push origin HEAD:<remoteBranch>
Это сработало для меня.
Ответ 5
git push -u origin master
error: src refspec master does not match any.
Для этого вам нужно ввести сообщение коммита следующим образом, а затем нажать код
git commit -m "initial commit"
git push origin master
Успешно толкнул мастера
Ответ 6
Для меня я должен был убедиться, что открытый ключ правильно настроен на сервере (добавлен в ~/.ssh/authorized_keys) и в github/bitbucket (добавлен в мои SSH-ключи на github или битбакет) - они должны соответствовать.
Тогда:
git add --all :/
git commit -am 'message'
git push -u origin master
Работал для меня в конце.
Ответ 7
Я обнаружил, что это произошло в новом репозитории после того, как я git добавил только каталог.
Как только я добавил файл (например, README), git push работал отлично.
Ответ 8
Отсутствие или пропуск git add .
или git commit
может привести к этой ошибке:
git push -u origin master
Username for 'https://github.com': yourusername
Password for 'https://[email protected]':
error: src refspec master does not match any.
error: failed to push some refs to 'https://github.com/yourusername/foobar.git'
Чтобы исправить это, повторите инициализацию и следуйте правильной последовательности:
git init
git add .
git commit -m 'message'
git *create remote
git push -u origin master
Ответ 9
Чтобы исправить это, повторите инициализацию и следуйте правильной последовательности кода:
git init
git add .
git commit -m 'message'
git push -u origin master
Ответ 10
Убедитесь, что вы добавили сначала, а затем commit/push:
Подобно:
git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
Ответ 11
Это происходит также, когда вы находитесь в определенной ветке и пытаетесь нажать другую ветвь, которая еще не существует, например:
$ git branch
* version-x # you are in this branch
version-y
$ git push -u origin master
error: src refspec master does not match any.
error: failed to push some refs to 'origin_address'
Ответ 12
просто добавьте начальную фиксацию, выполните следующие действия: -
Ответ 13
В моем случае я забыл включить файл .gitignore
. Вот все необходимые шаги:
- Создайте пустой репозиторий Git на удаленном компьютере,
- На локальном создании .gitignore
файл для вашего проекта. Github дает вам список примеров здесь
Запустите терминал, и в вашем проекте выполните следующие команды:
git remote add origin YOUR/ORIGIN.git
git add .
git commit -m "initial commit or whatever message for first commit"
git push -u origin master
Ответ 14
Я столкнулся с такой же проблемой, и я использовал --allow-empty
.
$ git commit -m "initial commit" --allow-empty
...
$ git push
...
Ответ 15
Вы, вероятно, забыли команду "git add". после команды "git init".
Ответ 16
Моя проблема заключалась в том, что ветвь "master" еще не была создана локально.
Быстрый
git checkout -b "master"
создал главную ветвь, в этот момент быстро:
git push -u origin master
Передвинул работу до репозитория git.
Ответ 17
Я также следовал указаниям githubs, как указано ниже, но все еще сталкивался с той же ошибкой, что и OP:
git init git add. git commit -m "message" git remote add origin "github.com/your_repo.git" git push -u origin master
Для меня, и я надеюсь, что это поможет некоторым, я загружал большой файл (1.58 GB on disk)
на моем MacOS. Копируя, вставляя предложенную строку кодов выше, я не ждал, пока мой процессор завершит add.
процесс. Поэтому, когда я набрал git commit -m "message"
он, по сути, не ссылался ни на какие файлы и не выполнил все, что нужно для успешной фиксации моего кода на github.
Доказательством этого является то, что когда я набираю git status
я обычно получаю зеленые шрифты для добавленных файлов. Но все было красным. Как будто это не было добавлено вообще.
Поэтому я переделал шаги. Набрал git add.
и дождитесь окончания добавления файлов. Затем выполните следующие шаги.
Я надеюсь, что это помогает кому-то.
Ответ 18
Это просто означает, что вы забыли сделать первоначальную фиксацию, попробуйте
git add .
git commit -m 'initial commit'
git push origin master
Ответ 19
- сначала git добавить.
- second git commit -m "message"
- третья git push origin branch
проверьте наличие орфографических ошибок, поскольку это также может привести к этой ошибке.
Ответ 20
У меня была такая же проблема, когда я пропустил запуск:
git add .
(У вас должен быть хотя бы один файл, или вы снова получите ошибку)
Ответ 21
В сценарии, где вы извлекаете код из внешнего репозитория (GitHub),
и хотите импортировать его в личную/внутреннюю систему,
эта команда действительно светит:
git push --all origin
Это подталкивает все локальные ветки к удаленному,
без проверки ссылок, не настаивая на коммитах.
Ответ 22
Это происходит, когда вы добавили свой файл, забыли совершить и нажать.
Поэтому скопируйте файлы, а затем нажмите.
Ответ 23
У меня такая же проблема. Я делаю это, выполнив следующие шаги:
1. git commit -m 'message'
2. git config --global user.email "your mail"
3. git config --global user.name "name"
4. git commit -m 'message'
5. git push -u origin master
Надеюсь, что это поможет кому-то
Ответ 24
Если вы получите эту ошибку при работе в режиме отсоединения HEAD, вы можете сделать это:
git push origin HEAD:remote-branch-name
См. Также: создание git-нажатия от отдельной головки
Если вы находитесь в другом локальном филиале, чем удаленная ветвь, вы можете сделать это:
git push origin local-branch-name:remote-branch-name
Ответ 25
git добавить.
- это все, что вам нужно, чтобы этот трек отслеживал все необработанные файлы в вашем каталоге
Ответ 26
Это также произойдет, если у вас есть опечатка в названии ветки, которую вы пытаетесь нажать.
Ответ 27
Если вы столкнулись с этой проблемой даже после выполнения git init и нажатия начального коммита. Вы можете попробовать следующее,
git checkout -b "new branch name"
git push origin "new branch name"
Ваш код будет нажат как новая ветка.
Ответ 28
Вам нужно настроить свой git, если вы впервые используете его с помощью:
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
Ответ 29
Я забыл сделать "git pull origin master" после фиксации и перед нажатием, и это вызовет ту же проблему: "src refspec master не соответствует никому при нажатии на фиксацию в git".
Итак, что вам нужно сделать:
1. git add .
2. git pull origin master
3. git commit -am "Init commit"
4. git push origin master
Ответ 30
Чтобы проверить текущий статус git status
и выполните следующие действия
git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master