Питання src refspec майстер не збігається ні з одним, коли штовхає робить в гіт


Я клонував моє сховище за допомогою:

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'

1897
2017-11-15 06:09


походження


@ Марко Це не дублікат. Це одне дуже конкретне питання про натискання місцевої галузі на віддалену галузь. Це стосується ініціалізації репо та його натискання. Вони створюють таку саму помилку, але REASONS вони створюють цю помилку, і виправлення цілком відрізняються. Крім того, синоа, ви повинні прийняти відповідь. Ймовірно, перший, бачачи, як він відповідає на питання і допоміг понад 350 людей. - tandrewnichols
Ви встановили команди gіt config, щоб встановити та налаштувати git глобально на вашому комп'ютері? - Igor Ganapolsky
Сподіваюся, що цей пост буде корисним для когось - samranga.blogspot.com/2015/07/...  Помилка у питанні може бути висунута навіть при спробі створити git BitBucket сховище з вже локально існуючого проекту - Samitha Chathuranga
Я отримав цю помилку, намагаючись натиснути неправильне ім'я назви. Вирішено використання git status щоб отримати правильний. - Tom Howard
Додавання файлу readme працювало для мене - lft93ryt


Відповіді:


Можливо, вам просто потрібно зробити. Я покінчив із цим, коли робив:

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

Успіх!


2972
2017-09-27 16:07



Не просто слідуйте цьому кроком, послідовно, подивіться, що згадав @Vi, а потім змініть команду push для виправлення ref. - Kumar
У мене була така сама проблема, просто забув здійснити, перш ніж натиснути. Це вирішило проблему, спасибі! - Shimon Tolts
Найбільш вірогідною причиною такої помилки є те, що всі файли не відстежені та не були додані. git add --all у випадку, якщо ви хочете додати всі файли, або ви можете вибірково додавати файли. Потім git commit -m "Initial comment", git push origin master. Це обов'язково буде працювати. - Bhanu Pratap Singh
Виправлено різне питання, яке добре, але насправді не є відповіддю Це фактичне питання - Michael Durrant
git commit -m 'initial commit' має бути подвійним цитуванням. 'git commit -m "initial commit", принаймні на вікнах. - Sung Kim


  1. Спробуй git show-ref щоб побачити, що у вас є посилання. Є там refs/heads/master?

  2. Ви можете спробувати git push origin HEAD:master як більше локально-референс-незалежного рішення.


564
2017-11-15 11:24



моя майстерська філія не була на вершині команд! тому я створив гілку, що це було в кінці всіх гілок, і я відштовхнув їх на сервер: - sinoohe
git checkout -b testbranch; git push Походження testbranch: майстер - sinoohe
git show-ref показав свою гілку; в git push origin HEAD:<branch> працював для мене. - Glen Solsberry
Ви просто врятували мене Ві. Дякую за git push origin HEAD:master. Але чому щось схоже git push --force origin master не працює? - shkschneider
@ gms8994 - ти правий якщо хтось створює філію як перше, а не натискає на майстра, те ж саме unfriendly з'являється помилка. використовувати git push origin <branch> замість master у випадку, якщо ви спробуєте це зробити git checkout -b <branch> перед будь-яким ПЕРШИМ натиском після початкового git remote add origin <url> - asyncwait


Я також мав подібну помилку після видалення всіх файлів на моєму локальному комп'ютері, і мені потрібно очистити всі файли в сховищі.

Моє повідомлення про помилку було приблизно таким:

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.

Це все, сподіваюся, це допоможе.


187
2018-01-04 17:03



Інші відповіді не вирішили проблему, яку я мав (наприклад, я вже зробив і все ще мав цю помилку), але зробив a git push origin BRANCH --force працював Дякую! - Lemmings19
Побачити це попередня відповідь. Я підозрюю, що вам потрібно додати файл, оскільки git не буде відстежувати порожні каталоги.
Поштовх - сила могла також повністю здувати товаришів важку роботу. Додано це попередження. - Michael Durrant
Це вирішило мою проблему. Я думаю, Git Add це зробив. Під час натискання речей на перший погляд гіт не розпізнає речей, можливо, саме тому у мене була проблема. git add команда вирішила мою проблему. також після цього я зміг висунутися без сили. Завдяки Аріо - Anandaraja_Srinivasan
Це вирішено здається, що GIT не буде натискати без "README" - Jimmy Obonyo Abor


  1. Мої зміни вже були виконані
  2. Сила натискання все-таки дала мені таку саму помилку.

Тому я спробував Рішення Ві:

git push origin HEAD:<remoteBranch> 

Це працювало для мене.


145
2018-05-06 17:27



Я нарешті з'ясував, що це було тому, що я неправильно написав назву галузі. Я успішно відсунув гілку А до походження з філією на ім'я B з git push origin HEAD:B, але я все-таки отримав таку саму помилку щоразу, коли я натискаю git push origin на філії А. - Yi H.
@ YiHuang, спасибі, я перевірив назву своєї гілки раніше, а потім знову перевірив його через ваш коментар - мав ту ж проблему, змусив її помиляти. - lakesare
@ YiH.i був впевнений, що назва моєї гілки правильна, але я просто перевірив її після прочитання вашого коментаря, і мій поганий - має ту ж проблему. - Null Pointer


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

Потім:

git add --all :/

git commit -am 'message'

git push -u origin master

Зрештою працював для мене.


96
2017-09-02 01:56



Дійсний, але інший випадок. -u допоміг тут. - Michael Durrant
Дякую! це було єдине рішення, яке мені допомогло - Matan Dahan
Спасибі, спаси мене - core114
Це рішення вирішено Проблема. Дякую :) - Sahil Gupta


Відсутній або пропущений 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

62
2017-11-03 20:30



git: '* create' не команда git. Див. Git --help. - sam
це правильно, бізнес-кінець більш конкретно git remote add __REMOTE_NAME__ __URL_OR_SSH__, а над віддаленим ім'ям це "походження" - aug2uag
Вони додали і вчинили у своєму питанні, щоб це не було проблемою, навіть якщо це допомагає іншим людям. - Michael Durrant
Ця відповідь спрацювала, однак, через -u варіант, який використовувався тут. - Michael Durrant


Я виявив, що це сталося в новому сховищі, після того як я git додав лише каталог.

Як тільки я додав файл (наприклад, README), git push працював чудово.


56
2017-09-25 01:44



Це, ймовірно, працює, оскільки git насправді не відстежує каталоги, тільки файли. Тому, якщо каталог порожній, git його не додасть.
OP додав файл (xx.php), тому це не було проблемою в цьому випадку, хоча в інших випадках це може бути проблемою і додати файл до рішення це проблема - Michael Durrant
Таке просте рішення для розчарування проблеми. Я тестував створення та клонування репо та створив порожні каталоги, а не файли. - James Wierzba
Це те, що мені зроблено для нового репо - Anupam


Щоб виправити це, повторно ініціалізувати та дотримуватися правильної кодової послідовності:

git init
git add .
git commit -m 'message'
git push -u origin master

56
2018-01-12 17:30



The -u Варіант зробив цю роботу. - Michael Durrant
Спасибі Практику. :) - Vikas Gupta


git push -u початковий майстер помилка: src refspec майстер не збігається з будь-яким.

Для цього вам потрібно ввести фіктивне повідомлення, як слідуйте, а потім натисніть код

git commit -m "початковий внесок"

Git Push початковий майстер

Успішно штовхнув оволодіти


55
2017-08-09 09:22





Це трапляється і тоді, коли ви перебуваєте у певній гілці, і спробуєте натиснути іншу гілку, яка ще не існує:

$ 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'

37
2018-05-23 17:43



ЛОЛ. Я намагався наштовхнути на початкового майстра, але цієї гілки не існувало. Він називався походження стабільним. - penner
The -u може допомогти тут. - Michael Durrant
У вищезгаданому випадку проблема полягає, звичайно, в тому, що немає місцевої гілки master, тому ви не можете його натиснути. Ви хочете натиснути існуючу гілку - або створити головну гілку, а потім натиснути її, як це: git checkout -b master; git push -u origin master; - tanius
Я просто отримав це, коли я неправильно напишу назву філії. - Sebastian Ärleryd
Мій місцевий підрозділ написано мовоючедулер ", і я займався git push origin scheduler. HA! Один лист з тобою вбиває вас у програмуванні. Лол - protoEvangelion


Спочатку спочатку додайте, а потім виконайте / натисніть:

Люблю:

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

36
2018-04-28 07:12