Try Git Flow


Joe creates a branch called feature/a and pushes it to the central repository Mary also wants to work on the same feature, so she pulls it down.

Joe:


$ git co master
$ git co -b develop
$ git co -b feature/A
# create file A.txt
$ git add A.txt
$ git ci -m "start A"


$ git push -u origin feature/A

Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 327 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /home/gabor/work/test_remote/
 * [new branch]      feature/A -> feature/A
Branch feature/A set up to track remote branch feature/A from origin.

Mary


$ git fetch origin

remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /home/gabor/work/test_remote


$ git checkout --track origin/feature/A

Branch feature/A set up to track remote branch feature/A from origin.
Switched to a new branch 'feature/A'