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

4 голосов
/ 04 января 2016

Это случилось со мной, когда я не ссылался на основную ветку источника. Итак, вы можете попробовать следующее:

git pull origin master

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

git push -u origin master
4 голосов
/ 16 апреля 2015

У меня та же проблема, и исправьте мою на следующем шаге:

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

4 голосов
/ 08 ноября 2012

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

$ git clone -b new-branch
$ git push origin new-branch
3 голосов
/ 17 мая 2017

У меня была проблема, когда я пытался сбросить мой репозиторий.Я хотел удалить всю историю и ничего не фиксировать.Тем не менее, вы должны добавить по крайней мере ЧТО-ТО, чтобы зафиксировать, поэтому я просто создал пустой текстовый файл, git add ., а затем git commit -m "Reset repository".

3 голосов
/ 13 марта 2014

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

Убедитесь, что вы нажимаете на правую ветвь

Я набирал git push origin master, но когда я набрал git branch, я был на ветке v1, поэтому мне пришлось набрать git push origin v1

3 голосов
/ 10 января 2016

Я создал файлы в неправильном каталоге и попытался сделать git push -u origin master, и я получил ошибку. Как только я cd в текущий каталог, сделаю git push -u origin master все в порядке.

2 голосов
/ 04 июля 2017

С такой проблемой я столкнулся при работе с VCS в Android Studio. Оказывается, все, что мне нужно было сделать, это:

  1. Выбрать все файлы из папки «app»;
  2. Перейти к VCS (опция вверху);
  3. «Добавить» файлы;
  4. Повторная фиксация через терминал или путем нажатия в раскрывающемся меню;
  5. Push!

Эврика! : D

2 голосов
/ 29 августа 2013

Я участвовал в одном репозитории на github, поэтому я раздвоил проект, клонировал его, создал свою собственную ветку, сделал несколько коммитов и попытался протолкнуть.В этот момент я обнаружил, что я клонировал не мой форк, а исходный репозиторий проекта (на который у меня нет разрешения выдвигать).

Таким образом, я изменил .git/config, чтобы указать источник моего репо.

в тот момент, когда я пытался нажать, я получал ошибку error: src refspec my_awesome_branch does not match any.

Все, что у меня былодля этого нужно дотронуться до любого файла и зафиксировать его (аналогично тому, как вы видите его в этом ответе

git touch README
git commit -m "fixing error in my git repo"

и чем:

git checkout master
git pull origin master
git push origin master # this will tell my remote repo about my new branch
git checkout my_awesome_branch
git push origin my_awesome_branch # now it will work
1 голос
/ 29 марта 2018

Работа для меня

Просто оформите мастер ветку

git checkout -b master
git add .
git push origin master 

Или используйте --force для изменения силы

git push origin master --force
1 голос
/ 27 февраля 2018

Я поймал эту "ошибку: src refspec master не соответствует никому". когда пытался протолкнуть коммит в GitHub, имея изменения (в GitHub).

git push -u origin branch-name - helped me up to date my local files
...