$ git push -u origin main после этой комманды выдает
error: src refspec main does not match any
error: failed to push some refs to ‘https://github.com/…’
при этом, если я сделаю $ git push -u origin master, то создается новая ветка и туда отправляются нужные файлы, правда как с ней взаимодействовать — непонятно, все выводится списком
при этом я пытаюсь принять пуш, но ничего не происходит
а еще если попытаться опять что-нибудь закоммитить $ git commit -m «#1»
то получается:
On branch master
nothing to commit, working tree clean
то есть локально у меня главная ветка master? а на гите main, из-за этого не может быть проблем?
-
Вопрос задан23 июл. 2022
-
1338 просмотров
Команда git push -u origin main
делает отправку локальной ветки main
во внешний репозиторий origin
, но ветки main
не существует, о чем вам и сообщили в ошибке.
Вам нужно либо переименовать master
в main
:
git branch -M main
Либо так и написать, что вы хотите master
отправить во внешний main
git push -u origin master:main
Но судя по скрину, у вас репозиторий не пустой. Вы уже создали там ветку с первоначальным коммитом. Поэтому вы не сможете просто так туда сделать push, так как ваши ветки не имеют общей истории. Это РАЗНЫЕ деревья. В таких случаях можно просо пересадить локальную ветку на вершину внешней через rebase. Либо создать ПУСТОЙ репо, как вы и сделали.
Пригласить эксперта
*** нет цензурных слов)
в моем репозитории на гите лежал файл readme.md
даже если я его пулил на локальный репозиторий, это не помогало
в итоге создал все заново без всяких доп файлов и нормально запушилось
+ добавил git branch -M main
-
Показать ещё
Загружается…
13 февр. 2023, в 17:43
3000 руб./за проект
13 февр. 2023, в 16:58
25000 руб./за проект
13 февр. 2023, в 16:52
5000 руб./за проект
Минуточку внимания
in Git
November 29th, 2022
Views
1. Introduction
In this example, we shall explain to you in detail what an “error: src refspec main does not match any” in “git” is and how you can deal with such errors if you encounter them in the future.
2. Error Description
This error occurs when you try to push code from a local repository to a remote repository while using the "git push origin main"
command in git command line
using git bash
and it happens that there is no main branch present hence an error.
3. Recreating the Error
There are several things that can trigger an "src refspec error main does not match any"
error. The illustration below will show you how to produce this error.
Let’s assume you cloned a new repository where the default branch is master and there is no main branch. When you type the command: "git push origin main"
, it displays the "refspec main"
error like this:
4. Dealing with refspec errors
Now that you are aware of the "refspec error"
, let’s explain how to deal with such errors in git
. Whenever you encounter such errors don’t panic just follow these procedures like this:
Display the remote branches connected to your local branch on your computer using the "git branch -b"
command like this:
git branch -b
#results
# origin/master
From the above result, it is seen that we have only the master branch
available in our remote repository
and no main branch
hence that explains why we had the "src refspec main does not match any"
error.
In order for us to create a branch
called main
where we are going to migrate eventually to, we can either create branch
directly on the Github website
or we use the git terminal
and type the command like this:
After creating the "main branch"
we are going to type the command "git push origin main"
and it won’t display an error anymore proving that we have resolved the error.
5. Conclusion
When next you encounter an "error: src refspec main does not match any"
, just know that the main branch
does not exist in your remote repository
and hence try to create one.
Describe the bug
When trying to create backup i recieve this error
Relevant errors (if available)
No response
Steps to reproduce
Attempt to push backup
Expected Behavior
No response
Addition context
No response
Operating system
Windows
this should git issue, not related to this plugin, can you push it through cmd?
Yeah, I can. I think it’s issues with something local. Going to wipe and start again
The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.
…
________________________________
From: Jason Ho ***@***.***>
Sent: Friday, October 22, 2021 2:19:50 PM
To: denolehov/obsidian-git ***@***.***>
Cc: Callum Gourlay ***@***.***>; Author ***@***.***>
Subject: Re: [denolehov/obsidian-git] [Bug]: Error: Src refspec main does not match any error:failed to push some refs (Issue #126)
this should git issue, not related to this plugin, can you push it through cmd?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#126 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/APSTFE2NAZWSQGNIBAGJRILUIFQHNANCNFSM5GMBTEIQ>.
@callumgourlay this error usually appears when you don’t stage files for commit. Running the below bash commands should fix the issue:
I managed to resolve it by adding the .git folders to all the internal folders and after that it worked fine
The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.
…
@callumgourlay I am having the same issue, have been having it around the same Oct timeframe but was not very proficient with Git so thought maybe I was doing something wrong. I am able to manually push the files using suggestion that @denolehov provided above but the plugin continues to throw the same error.
Can you explain what you meant by copying all the git folders, are you copy all the contents of the .git folder into each and every nested folder in your vault? appreciate your help.
@denolehov Thank you for the plugin it used to work like a charm for me until this happened.
I managed to sort it by creating a new repository and copying the .git folder from one to another. Other than that I don’t remember much of it as it was a while ago now
The information transmitted, including attachments, is intended only for the person(s) or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and destroy any copies of this information.
…
all of your comments doesn’t work for me. i try to push and see that error : error: src refspec main does not match any
This post talks about how to fix a git error.
error: src refspec master does not match any
error: failed to push some refs to ‘url.git’.
Possible causes for this error for the below use cases
- Create and commit changes to the remote repository
- Push the existing repository from the command line
Here are the steps and commands for creating and cloning and committing the repository
- git init
- git add README.md
- git commit -m “Initial Changes”.
- git remote add origin https://github.com/intkiran/angular-mock-api-json.git
- git push -u origin master
error: src refspec master does not match any error: failed to push some refs to ‘url.git’
There are two use cases success
and error
flow.
Let’s see how we can reproduce these error
use cases.
These are the not correct way of adding commits and pushing changes but given an example use case how we can reproduce this error?
-
I have a local project created
angular-crud-mock-api
in theb:\githubwork
directory. -
Create an empty repository in github.com my repository url.
https://github.com/intkiran/angular-mock-api-json.git
- Now want to commit angular-curd-mock-api code changes into the Repository url
existing local application created `angular-crud-mock-api which is not synced with the GitHub repository. - Let’s see how to add these changes to the remote repository
:githubworkangular-crud-mock-api>git remote add origin https://github.com/intkiran/angular-mock-api-json.git
- Issue git push command and throws an error
B:githubworkangular-crud-mock-api>git push -u origin master
error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/intkiran/angular-mock-api-json.git'
That means, we have to add the first files or directory before pushing changes.
- Add the files and directories using the below command
git add .
B:githubworkangular-crud-mock-api>git add .
warning: LF will be replaced by CRLF in angular-crud-mock-api/.browserslistrc.
The file will have its original line endings in your working directory.
It adds the changes to the local repository in git.
Now, Let’s try to push changes to the remote repository using the git push
command.
- Next, push changes using the
git push
command.
B:githubworkangular-crud-mock-api>git push -u origin master
error: src refspec master does not match any
error: failed to push some refs to 'https://github.com/intkiran/angular-mock-api-json.git'
This error throws an error and you need to use the commit command before pushing the Command.
- commit changes
Here are the committed changes to the local repository.
B:githubworkangular-crud-mock-api>git commit -m "Initial changes"
[master (root-commit) 96c6c0c] Initial changes
29 files changed, 30724 insertions(+)
How to add add,commit push Success Flow in Github
Let’s see how we can reproduce these success
use cases.
Here is a sequence of commands you need to run to avoid the error.
git remote add origin https://github.com/intkiran/angular-mock-api-json.git
git add .
git commit -m "Initial changes".
git push -u origin master
Here is the output of push changes
B:githubworkangular-crud-mock-api>git push -u origin master
Enumerating objects: 38, done.
Counting objects: 100% (38/38), done.
Delta compression using up to 4 threads
Compressing objects: 100% (34/34), done.
Writing objects: 100% (38/38), 260.09 KiB | 5.20 MiB/s, done.
Total 38 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (1/1), done.
To https://github.com/intkiran/angular-mock-api-json.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
fix git error:src refspec origin does not match any
You have to carefully check the below things to avoid this error, if you create new repo or push an existing repository,
-
You forgot to add the files before pushing changes to the master or branch
-
Missing or skipping the
git add .
orgit commit
command throws an error
Here are steps for adding the files or directories
- git commit message enclosed in
double quotes
instead ofsingle quotes
Valid
git commit -m "initial changes"
Invalid
git commit -m 'initial commit'
- Please check the branch name with the push command
Usually, we will push changes using the below command.
git push -U origin `branchame`
push command push changes from the local repo to the remote repository branchname
Please make sure that branchname
exists.
‘master ‘ is the default branch.
Here is a correct command
git push -U origin master
Possible reasons
- Branch name not found
- Branch name spelling mistake or case insensitive
How to create a new repo to avoid this error in Git
here is a list of commands to avoid this error
git init
git add .
git commit -m 'message'
git push -u origin master
Conclusion
In this tutorial, Learn how to fix the git error:src refspec origin does not match any while working with git repositories.