28

When I do a git status, I get my branch:

$ git status On branch OfflineLoading 

When I tried to git push, I get:

$ git push origin OfflineLoading fatal: OfflineLoading cannot be resolved to branch. 

When I check the branches, it is not there:

$ git branch branch1 branch2 branch3 branch4 

How do I fix this?

9
  • Did you create and changed your work to your new branch? This can be helpful: stackoverflow.com/questions/11860362/… Commented Jul 22, 2016 at 19:02
  • 1
    I guess you might be doing some spelling mistake / case mistake. Ideally, it should make the remote branch if it doesn't exist or push to remote branch if it exists. Your command seems correct Commented Jul 22, 2016 at 19:05
  • I checked the spelling and it is right. Do I need to set upstream? Commented Jul 22, 2016 at 19:13
  • 1
    can you post the output of git show-ref | grep -i OfflineLoading Commented Jul 22, 2016 at 20:33
  • 1
    How did you create this branch OfflineLoading? Specifically, did you use git checkout --orphan? If so, that's the problem: orphan branches aren't actually created until you commit something into them. If not, something is seriously wrong on your computer / in your repository. Commented Jul 23, 2016 at 0:34

9 Answers 9

39

The common issue is case mistake. I got the same issue before. The better way to do it is to check what are the branch names:

$ git branch master *branch1 Branch2 

you can compare the branch on above, then push it with the name you got.

$ git push origin Branch2 

or

$ git push origin branch1 
Sign up to request clarification or add additional context in comments.

Comments

11

In addition to Kyle's answer,

In cases where you already have a branch name like "BugFix/item001" and pushed it to your repository, and then you created another branch with the name "Bugfix/item002", you will still get the same error even if you try to push the branch with the correct casing. I believe this is because of the "BugFix" folder being created already and future branches will use the same folder.

It is still a casing mistake but really misleading.

2 Comments

Correct answer. My solution is renaming the old branches to something else, then renaming them back. It's caused by "git case sensitivity" problem.
exactly my case, the suggested workaround worked.
4

My branch name was feature/S212121_TestCase_review_Dashboard

When I try to push code to this branch feature/S212121_TestCase_review_Dashboard by using following command:

git push origin feature/S212121_TestCase_review_Dashboard fatal: feature/S212121_TestCase_review_Dashboard cannot be resolved to branch 

Then I have renamed the my branch using following command:

git branch -m TestCase_review_CWLA_Dashboard 

After that I have used following command to push the code:

git push --set-upstream origin TestCase_review_CWLA_Dashboard 

This works for me I am able to push the code to branch.

Comments

1

Sometimes this happens when you mistakenly checked out a wrong branch, do a commit on the same wrong branch and then do a push. On my case I had a branch called questionbank and made a mistake of checking out questionBank (note with capital 'B'), then I did a commit and git allowed it all up to a point when I wanted to do a push.

Solution was to checkout the correct branch (which on my case was "questionbank"), do some change on the code ( just for git to allow you to commit) then do a commit and then the push will work just fine.

Comments

1

This happens when you have any capital letter in your branch name because the branch names are case sensitive. So go to .git-> refs-> heads then you can see your branches, remove the capital letter from your current branch name and that's it.

1 Comment

This is the actual answer
1

It might be because you are not in the latest master branch.

For this you could check with terminal commands on the master branch:

git pull 

or

git pull origin (master branch) 

and checked your branch.

I created a new branch

git checkout -b newbranch 

and pushed to a new branch from the old branch that "has cannot be resolved" error using:

git push origin newbranch 

This worked for me.

Comments

0

Checking out to a new branch and pushing it again works for me. git checkout -b 2020-08-05/OfflineLoading git push

Comments

0

I had to make a small change and add my commit again then push and it worked!

1 Comment

Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.
0

Not an ideal solution, but worked for me :

Checkout to different branch (let's say eg: 'branch2') & again checkout back to your feature branch and try to push to remote.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.