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

и это сработало отлично для меня.

Если у вас есть визуальный студийный код

  1. удалите папку.git, если вам не нужны изменения для отслеживания (если да, git stash)
  2. мерзавец
  3. git commit -m "первый коммит"
  4. git remote добавить источник https://github.com/YOURusername/YOURrepo.git
  5. с помощью Visual Studio Code UI IDE GOTO управления исходным кодом с левой боковой панели или (Ctrl + shift +G)
  6. поставить все ваши изменения или часть
  7. совершить ваши изменения
  8. Синхронизируйте свои изменения с помощью левой нижней кнопки (например, числа или значка облака), после чего 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
Другие вопросы по тегам