Skip to content

Error: Src Refspec Master does not match: 5 Fixes

  • by
  • 2 min read

Git is a great tool for software developers. Being able to manage code repositories and versioning with the ease it provides can be a lifesaver in a ton of situations. 

However, that’s not to say that Git is flawless and, well, easy to use. A lot of times, you’ll see an utterly perplexing error that you never expect. The good news is, solutions are more often than not simple.

In this article, we’re going over the “src refspec master does not match any” error in Git and listing down solutions you can try out. 

Also read: How to remove untracked files in Git?

Be sure to commit before pushing to a branch

One of the most popular reasons you might see this error is because you might’ve forgotten to commit before pushing your code to a branch or even a new repository, for that matter. Make sure to commit to the branch (or repo) before pushing, and you’ll be good to go.

git commit -m "Commit Name here"

Commit the right way

Another time Git might throw this error your way is when you make a mistake during commit, specifically, using single quotes instead of double quotes. So instead of doing this. 

git commit -m 'Single Quotes'

Try this.

git commit -m "Double Quotes"

Also read: How to fix Gitignore not working issue?

Check the commit directory

Some platforms like GitHub and BitBucket don’t allow users to commit to an empty directory. If you’re using these platforms, make sure to add a file or two before you start pushing your code. 

Check branch names

Using incorrect branch names can also cause this error a lot of times. It’s not uncommon to make typos, so make sure you’ve got the branch’s name right, whether it’s a local or remote branch. 

This can also be extended to whether or not a branch actually exists before you start pushing. Check to make sure you’ve got the name right, the directory isn’t empty and that the branch actually exists.

Check for refs

Another thing you should check is if that your ref actually exists or not. You can do this using the following command.

git show-ref

The command will output something like refs/heads/master or refs/heads/main. What you’re looking for here is the last part of the output. Now try pushing as follows.

git push origin HEAD:main

Also read: How to fix “Error: could not find or load main class” in Java?

Yadullah Abidi

Yadullah is a Computer Science graduate who writes/edits/shoots/codes all things cybersecurity, gaming, and tech hardware. When he's not, he streams himself racing virtual cars. He's been writing and reporting on tech and cybersecurity with websites like Candid.Technology and MakeUseOf since 2018. You can contact him here:

Exit mobile version