Сообщение '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 ]

3569 голосов
/ 27 сентября 2011

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

mkdir repo && cd repo
git remote add origin /path/to/origin.git
git add .

Ой!Никогда не совершал!

git push -u origin master
error: src refspec master does not match any.

Все, что мне нужно было сделать, это:

git commit -m "initial commit"
git push origin master

Успех!

727 голосов
/ 15 ноября 2010
  1. Попробуйте git show-ref, чтобы увидеть, какие у вас есть ссылки.refs/heads/master?

  2. Вы можете попробовать git push origin HEAD:master как более независимое от локальной справки решение.Это явно означает, что вы хотите передать локальный ref HEAD к удаленному ref master (см. Документацию git-push refspec ).

207 голосов
/ 04 января 2012

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

Мое сообщение об ошибке было примерно таким:

error: src refspec master does not match any.
error: failed to push some refs to 'git@github ... .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.

Все, надеюсь, это поможет.

178 голосов
/ 06 мая 2013
  1. Мои изменения уже зафиксированы
  2. При принудительном нажатии все еще выдается та же ошибка.

Поэтому я попробовал Решение Vi :

git push origin HEAD:<remoteBranch> 

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

111 голосов
/ 09 августа 2017
git push -u origin master
error: src refspec master does not match any.

Для этого вам нужно ввести сообщение коммита, как следует, а затем нажать код

git commit -m "initial commit"

git push origin master

Успешно передан мастеру

105 голосов
/ 02 сентября 2014

Для меня я должен был убедиться, что открытый ключ правильно настроен на сервере (добавлен в ~ / .ssh / authorized_keys) и в github / bitbucket (добавлен в мои ключи SSH на github или bitbucket ) - они должны совпадать.

Тогда:

git add --all :/

git commit -am 'message'

git push -u origin master

В итоге сработало для меня.

72 голосов
/ 25 сентября 2011

Я обнаружил, что это произошло в совершенно новом хранилище после того, как я добавил git только каталог.

Как только я добавил файл (например, README), git push работал отлично.

65 голосов
/ 04 ноября 2012

Отсутствие или пропуск git add . или git commit может привести к этой ошибке:

git push -u origin master
Username for 'https://github.com': yourusername
Password for 'https://yourusername@github.com': 
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
58 голосов
/ 12 января 2015

Чтобы исправить это, заново инициализируйте и следуйте правильной последовательности кода:

git init
git add .
git commit -m 'message'
git push -u origin master
51 голосов
/ 28 апреля 2018

Убедитесь, что вы сначала добавили, а затем зафиксировали / нажмите:

Как:

git init
git add .
git commit -m "message"
git remote add origin "github.com/your_repo.git"
git push -u origin master
...