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'
143 ответа
Как один из вариантов решения вашей проблемы:
git push origin HEAD
Проверьте название вашего коммита, потому что если вы забудете команду git commit -m "xxxx", вы получите ту же проблему
git commit -m "initial commit"
Я думаю, потому что вы нажали неверную ветку. Как правило, потому что репозиторий не имеет общей ветки master (может быть, ветки разработки). Вы можете использовать git branch для просмотра веток.
У меня была такая же проблема только сегодня. Я создал новое репо и клонировал его на свою машину. Я зафиксировал свой код и попытался его продвинуть. У меня такая же ошибка. Я заметил, что это потому, что я использовал:
git push origin master
Что я делал здесь неправильно, так это то, что я предполагал, что моей веткой по умолчанию будет
master
тогда как новое значение по умолчанию на GitHub -
main
. Я нажал, используя:
git push origin main
и он работал нормально.
Мое решение применимо только к новым репозиториям или людям, столкнувшимся с этой проблемой совсем недавно, потому что GitHub заменяет
main
над
master
терминология. Поэтому, если вы получили эту ошибку, обязательно проверьте ветку, на которую вы нажимаете, и имя ветки на GitHub.
Прежде всего убедитесь, что вы используете основную ветку. В моем случае ветка была главной, а не главной. Так что я сделал
git push origin main
Вы можете увидеть результат на этой фотографии
https://stackru.com/image s/4d27dc1f0735c78e79ddf073007ac09ec1fe b7e1.png
Другая возможная причина этой проблемы - неправильное написание имени ветви. Так что, если вы сделали то, что я сделал, то проблема будет исправлена путем исправления:
git push origin mater
в
git push origin master
В 2020 году:
Если ни один из 30+ ответов не помог, вам, вероятно, нужно запустить
git push origin main
(master был переименован в main на момент написания этого ответа)
Я столкнулся с той же загвоздкой... и решение состояло в том, чтобы отправить код в репозиторий, как если бы это был существующий проект, а не инициализируемый совершенно новый.
git remote add origin https://github.com/Name/reponame.git
git branch -M main
git push -u origin main
Может быть, Github не знает, кто ты.
Сначала вы должны запустить:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
С 1 октября 2020 года GitHub меняет имя главной ветки на main. Это то, что вызывает проблему. Когда кто-то печатает
git push origin master
они видят эту ошибкуerror: src refspec master does not match any error: failed to push some refs to 'https://github.com/vishnureddys/coding-skills.git'
Это можно исправить, используя
git push origin main
. Надеюсь это поможет. Мне потребовалось некоторое время, чтобы понять, почему я не могу отправить свои коммиты в основную ветку.
Для Repositories WIKI я также столкнулся с этой ошибкой.
git show-branch
если показывает мастер то
git push -u origin master
Пытаться git show-ref
Вы могли бы увидеть refs/heads/live
Это означает, что вам следует сделать
git push -u origin live
(GitHub изменился master
в live
)
Одна из причин этого месяца, вероятно, такова: github переименовал ветвь "master" по умолчанию в "main". Итак, используйте
git push origin main
вместо.
Я забыл зафиксировать, а затем побежал к этому. ПРОСТО ОБЯЗАТЕЛЬНО
Обновите предыдущие ответы.
Также не забывайте, что github изменил "Master" на "Main", поэтому убедитесь, что вы нажимаете через:
git push origin main
Это случилось со мной, когда я не ссылался на основную ветку происхождения. Итак, вы можете попробовать следующее:
git pull origin master
Это создает ссылку на основную ветвь источника в локальном хранилище. Затем вы можете отправить локальный репозиторий к источнику.
git push -u origin master
У меня была похожая ошибка. Но мерзавец говорит мне:
*** Please tell me who you are.
Бежать
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
Или установить личность вашей учетной записи по умолчанию.
Omit --global to set the identity only in this repository.
Тогда ошибка исчезнет.
Для пользователей Gitlab обновленная версия gitlab теперь будет иметь «основную» ветку по умолчанию.
Итак, вы можете попробовать следующее:
git push origin main
Ссылка: Gitlab новое имя ветки git по умолчанию является основным
У меня была похожая проблема. В моем.gitignore
файл, в котором была определена звездочка, все файлы игнорируются и поэтому происходит сбой. Удаленный'*'
и использовал все стандартные команды git, которые мне помогли.
git add .
git commit -m "Initial commit"
git push -u origin main
Я создал файлы в неправильном каталоге и попытался сделать git push -u origin master
и я получил ошибку, как только я cd
в текущий каталог сделать git push -u origin master
Все хорошо.
Вы можете столкнуться с этой проблемой по нескольким причинам.
1. Ожидание фиксации для файлов с разбивкой
Если вы добавили изменения, запустив git add
команда (т.е. git add .
), и никогда не фиксировал эти файлы после этого и пытался отправить ветку в удаленный репозиторий. В этом случае вы столкнетесь с ошибкойsrc refspec master does not match any.
2. Недействительное название местного отделения.
Если вы допустили опечатку в названии ветки (т.е. mster вместо master), то это плохо приведет вас к этой ошибке. означает, что ветка, в которую вы пытаетесь вставить, отсутствует в локальном репозитории.
Если вы хотите создать новую ветку удаленно в источнике, сначала нужно создать ту же ветку локально:
$ git clone -b new-branch
$ git push origin new-branch
Сначала вам нужно git init
чтобы создать свой собственный файл.git, иначе, если вы клонируете чью-то папку git, она не распознает ваши учетные данные git. После того, как вы запустили git, продолжайтеgit add.
а также git commit
...
Я столкнулся с этой проблемой, и основной причиной было то, что я следовал шагам, упомянутым в GitLab, при создании нового проекта.
- cd существующая_папка
- git init --initial-branch=main
- git удаленно добавить источник вашего репозитория
- git добавить .
- git commit -m "Первоначальная фиксация"
- git push -u происхождение основной
без добавления какого-либо файла в локальный каталог перед отправкой, поэтому он не считался фиксацией, потому что нечего было фиксировать (хотя вы запускаете команды git add . и git commit -m "initial commit". Убедитесь, что вы добавили некоторые файлы в ваш локальный каталог, тогда только git будет рассматривать его как фиксацию, а затем нажатие разрешит ошибку
У меня та же проблема, и исправить мою на следующем шаге:
- git pull --rebase https://github.com/yours master
- мерзавец добавить.
- git commit -m 'сообщение коммита'
- мастер происхождения git push
Надеюсь, поможет
Проблема, с которой я столкнулся, была при попытке перезагрузить мой репозиторий. Я хотел удалить всю историю и ничего не фиксировать. Тем не менее, вы должны добавить по крайней мере что-то, чтобы зафиксировать, поэтому я просто создал пустой текстовый файл, git add .
а потом git commit -m "Reset repository"
,
Однажды у меня была эта проблема, потому что у меня была ветка в моем удаленном репо, но не локально. Я сделал:
git fetch && git checkout 'add remote branch name here'
и это решило мою проблему.
Иногда проблема возникает, когда вы не вносите свои изменения, поэтому для этого вам нужно запустить следующую команду git:git add your_file_name.extension
или git add .
добавить все изменения.
На этом этапе вам нужно зафиксировать свои изменения с помощью:git commit -m 'your commit message here'
.
После того, как вы все это сделали, вам просто нужно отправить свои изменения в удаленное репо с помощью:git push origin your_branch_name
.
Старая тема, но у меня была эта проблема и я хотел поделиться своим опытом. Я уже создал коммит.
Убедитесь, что вы нажимаете на нужную ветку
Я набирал git push origin master, но когда я набрал git branch, я был на ветке v1, поэтому мне пришлось набрать git push origin v1
Недавно столкнулся с этой проблемой, я проверил show-ref с помощью,
git show-ref
и проверил ли
рефери/головы/мастер
присутствовал.
Он присутствовал, но у меня не работал.
Пока я писал
git push origin main
Позже я изменил эту команду на
git push origin master
и это сработало отлично для меня.
Если у вас есть визуальный студийный код
- удалите папку.git, если вам не нужны изменения для отслеживания (если да, git stash)
- мерзавец
- git commit -m "первый коммит"
- git remote добавить источник https://github.com/YOURusername/YOURrepo.git
- с помощью Visual Studio Code UI IDE GOTO управления исходным кодом с левой боковой панели или (Ctrl + shift +G)
- поставить все ваши изменения или часть
- совершить ваши изменения
- Синхронизируйте свои изменения с помощью левой нижней кнопки (например, числа или значка облака), после чего Visual Studio попросит вас ввести имя пользователя и пароль.
если у вас есть разрешение на репо, вы можете увидеть:
> git push -u origin master
Fatal: AggregateException encountered.
To https://github.com/your_account/yourrepo.git
* [new branch] master -> master
> git status -z -u
> git symbolic-ref --short HEAD
> git rev-parse master
> git rev-parse --symbolic-full-name master@{u}
> git rev-list --left-right master...refs/remotes/origin/master
> git for-each-ref --format %(refname) %(objectname) --sort -committerdate
> git remote --verbose
> git show :ionic.config.json
> git check-ignore -z --stdin