After cloning a remote Git repository, running git branch usually shows only the local branch you currently have:

* master

That does not mean the remote repository has no other branches. It only means those branches have not been created locally yet.

To see both local and remote branches, use:

git branch -va

You may get output like this:

* master              0840594 merge master and 1.0.0
remotes/origin/1.0.0  743012a 'update'
remotes/origin/2.0.0  2787838 udpate
remotes/origin/HEAD   -> origin/master
remotes/origin/master 0840594 merge master and 1.0.0

If you want to work on origin/2.0.0, simply pointing to that remote branch is not enough. For example, trying this:

git branch remotes/origin/2.0.0

won't give the result you want. After that, git branch may show something like:

* (detached from origin/2.0.0)
master

This indicates a detached HEAD state. You are not really on a normal local branch yet, so one more step is needed.

Create a local branch based on the current state:

git checkout -b 2.0.0

The -b option means creating a new branch using the current position as the base. The new branch name here is 2.0.0, but it could be any name you prefer.

Now if you run git branch again, you should see:

$ git br
  master
* 2.0.0

At this point, the switch is complete.

A more direct way is:

git checkout -t origin/2.0.0

This command creates a local branch directly from the remote branch and checks it out in one step.