Сообщение 'src refspec master не совпадает ни с одним' при отправке коммитов в Git - PullRequest
2295 голосов
/ 15 ноября 2010

Я клонирую свой репозиторий с:

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'

Ответы [ 66 ]

12 голосов
/ 05 декабря 2015

У меня такая же проблема.Я делаю это, выполнив шаги

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

Надеюсь, это кому-нибудь поможет

12 голосов
/ 02 марта 2018

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

git push origin HEAD:remote-branch-name

Смотрите также: толчок мерзавца от оторванной головы

Если вы находитесь в локальной ветке, отличной от удаленной, вы можете сделать это:

git push origin local-branch-name:remote-branch-name
11 голосов
/ 30 сентября 2016

git add.

- это все, что вам нужно, чтобы этот код отслеживал все файлы, которые не были отслежены в вашем каталоге

11 голосов
/ 24 мая 2017

В сценарии, где вы извлекаете код из внешнего репозитория (GitHub),
и хотите импортировать его в персональную / внутреннюю систему,

эта команда действительно светится:

git push --all origin

Это подталкивает все локальные ветви к удаленному,
без проверки ссылок, без настаивания на коммитах.

9 голосов
/ 08 октября 2013

Это также произойдет, если у вас есть опечатка в названии ветви, которую вы пытаетесь нажать.

9 голосов
/ 10 декабря 2016

В случае, если вы столкнулись с этой проблемой даже после выполнения git init и нажатия вашей начальной фиксации. Вы можете попробовать следующее,

git checkout -b "new branch name"
git push origin "new branch name"

Ваш код будет выдвинут как новая ветвь.

8 голосов
/ 30 октября 2012

Вам нужно настроить свой git, если вы впервые используете его с:

git config --global user.email "you@example.com"

git config --global user.name "Your Name"
8 голосов
/ 28 мая 2019

В моем случае я забыл включить файл .gitignore.Вот все необходимые шаги:

  1. Создание пустого репозитория git на удаленном компьютере,
  2. На локальном компьютере создайте файл .gitignore для своего проекта.Github предоставляет вам список примеров здесь
  3. Запустите терминал и в вашем проекте выполните следующие команды:

    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

8 голосов
/ 01 сентября 2015

Я забыл сделать «мастер происхождения git pull» после коммита и перед push, и это вызвало ту же проблему: «мастер src refspec не совпадает ни с одним при нажатии коммитов в git».Итак, что вы должны сделать, это:

1. git add .
2. git pull origin master
3. git commit -am "Init commit"
4. git push origin master
7 голосов
/ 12 февраля 2018

Попробуйте это:

git add .

git commit -m "your commit message"

git remote add origin *remote repository URL*

git push origin *your-branch-name*
...