Let's say you only have one local branch, master
, which, and you want to create a new local branch, stage
, to track the stage
branch which exists remotely on the origin
, you'll want to be careful how to create your new branch. This way is correct:
git checkout -b stage origin/stage
Whereas the following is incorrect, because you will wind up a stage branch integrating with whatever changes you have committed to master
:
git checkout -b stage
git pull origin stage