salty
salty

Reputation: 614

Git not recognizing any remote branches

First, I've been using Git for about 3 days total my entire life. I've read a lot, and I understand the basics a bit.

So we're trying to setup a staging server. The workflow should look like this "local -> staging -> live"

My local machine can connect to the git repo and it sees all the branches, and allows me to push the branches. The live server can see the branches and pull/merge. The staging server was able to clone the master and can see remotes/origin/{and a few other things here}. But the staging server doesn't see all the branches.

I've tried to fetch, I've hard reset, I've setup a tracking branch, and any other thing SO and google have suggested. I have no idea how to proceed here.

This is my output for "branch -a" locally:

$ git branch -a
* all-to-staging
  choose-all
  country-route
  master
  select-to-autocomplete
  sharebuttons
  remotes/origin/HEAD -> origin/master
  remotes/origin/all-to-staging
  remotes/origin/choose-all
  remotes/origin/country-route
  remotes/origin/master
  remotes/origin/select-to-autocomplete
  remotes/origin/sharebuttons
  remotes/origin/tablesaw
  remotes/origin/wrapping-blockquotes

This is my result on staging:

# git branch -a
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/live
  remotes/origin/master

I can even see the all-to-staging branch:

all-to-staging ``

How can I get my staging site to recognize the all-to-staging branch so I can pull it and have people see the change?

Upvotes: 3

Views: 11075

Answers (1)

salty
salty

Reputation: 614

So I figured it out, hopefully this might help someone else out later.

using git remote -v I realized that my origin was pointing to the live site, and not to my repository.

With this knowledge I follwed this guide https://help.github.com/articles/changing-a-remote-s-url/ to change the remote url with the following commands:

git remote set-url origin https://github.com/{my username}/{my repo}.git

SSH is similar, if your repo is private it might be better to do it this way

git remote set-url origin [email protected]:{my username}/{my repo}.git

Check your origins with git remote -v, you should see your new origin url

Now there's 2 things to do here, the proper thing, is to make a new directory and Pull your repo down again so that git is basically set up right, that looks like this: cd .. mkdir {new project directory} cd {new project directory} git clone [email protected]:{my username}/{my repo}.git git branch -a git checkout {your branch name} git pull

The second way is trickier because you might run into issues, but sometimes a projects setup is super complicated and it's worth taking the risk before having to set it up again. (This is what I had to do to solve my issue)

Check for branches with git branch -a, if you still don't see your branches, then you need to fetch git fetch and then you should see your branches, and you can switch to your selected branch with git checkout

it would look like this:

git branch -a
{no branches shown}
git fetch
git branch -a
{all branches shown}
git checkout {your-branch-name}
git pull

Upvotes: 7

Related Questions