Some commonly used Git commands related to branch operations.
Create a new branch (locally and remotely)
Create branch locally
We can use the following command to create a new branch
git branch <new_branch>
At this time, we are still in original branch. To switch to new branch, use the following command:
git checkout <new_branch>
The two steps can be combined with the following command:
git checkout -b <new_branch>
Create branch remotely
To create a remote branch, use the following command:
git push -u origin <local_branch>
-u option sets a upstream branch of the same name for tracking, i.e., now
our local branch corresponds to the remote branch of the same name.
- How to create remote branch.
- Push local to remote and track it.
- git push -u option doc
- What exactly does the “u” do? “git push -u origin master” vs “git push origin master”
Create a git branch from a specific commit
Sometimes, we may find that we need to fix a flaw in a specific commit, but current work has not been finished. We may create a new branch from that commit, and after that, merge that branch to current branch.
This is how we do using git:
git branch fix_bug <commit_id> git checkout fix_bug
<commit_id> is the hash of that commit as shown in the
git log output.
The above command can also be simplified using
-b for checkout:
git checkout -b fix_bug <commit_id>
After fixing the issue in branch
fix_bug, we can then merge the change into
the original branch, say, master branch:
git checkout master git merge fix_bug
- Branch from a previous commit using Git
- How to create the branch from specific commit in different branch
- show all branches (local and remote):
git branch -a
- show all local branches:
git branch -l
- show all remote branches:
git branch -r
Delete a branch
- Delete local branch:
git branch -d <branch_name>
- Delete remote branch:
git push -d <remote_name> <remote_branch>
Note that you can not delete a local branch when you are on it! You need first to checkout to another branch.
Create a local branch from a remote branch?
I have a remote branch and I would like to create a local branch based on it. First, we need to fetch the remote changes:
Then we can create a local branch from the remote branch:
git checkout -b local_branch_name remote_name/remote_branch
If you do not want to change the remote name, you can also also
git checkout -t <name of remote>/<remote branch name>
It will create a local branch of the same name.
- Create local branch from remote branch.
Find remote tracking branch for local branch
If we want to find the remote local branch a local branch is tracking, we can use the following command:
git branch -vv
We can also use the git remote command to show remote tracking branch:
git remote show <remote name>
License CC BY-NC-ND 4.0