Git branching: Reference and Examples
Last updated:Table of Contents
- Checkout file from branch
- Checkout file from commit
- Delete branch locally and on remote
- Make local branch track remote branch
- Fetch and track remote branch
- Clone branch individually
Checkout file from branch
$ git checkout <branch-name> -- path/to/file.txt
Checkout file from commit
$ git checkout <commit-hash> -- path/to/file.txt
Delete branch locally and on remote
use
-D
instead of-d
to force-delete an unmerged branch
Use git branch -d <branch_name>
to delete it locally and then use git push <remote_name> --delete <branch_name>
to delete it remotely:
1) Delete the branch locally
$ git branch -d old-branch Deleted branch old-branch (was eeb9376).
2) Delete the branch on remote
$ git push origin --delete old-branch To git@github.com:username/my-repo.git - [deleted] old-branch
Make local branch track remote branch
Use git branch -u <remote-name> <local-name>
EXAMPLE: make local branch foo
track origin/foo
$ git branch -u origin/foo foo
Fetch and track remote branch
TEMPLATE: git fetch origin my-branch:my-branch
then git checkout my-branch
1) fetch
$ git fetch origin branch-1:branch-1
2) checkout
$ git checkout branch-1
Clone branch individually
Useful if you need to keep multiple branches of a single repo.
To git clone a specific branch only, use git clone -b <branch-name> <repo-url> <folder_name>
:
Example: clone my-branch
from github.com/my-user/repo
into a new folder called repo-my-branch
:
$ git clone -b my-branch git@github.com:my-user/repo.git repo-my-branch