Skip to main content

Git Branching

Branching is a powerful feature in Git that allows you to diverge from the main line of development and continue to work without affecting that main line. Here are some common commands to create and manage branches in Git.

CommandDescription
git branch <branch-name>Create a new branch with the specified name
git checkout -b <branch-name>Create and switch to a new branch in one command
git checkout <branch-name>Switch to an existing branch
git branchList all branches in the repository
git branch -m <new-branch-name>Rename the current branch to the specified name
git branch -d <branch-name>Delete a branch (if merged)
git branch -D <branch-name>Force delete a branch (if not merged)
git merge <branch-name>Merge the specified branch into the current branch

Creating a New Branch

To create a new branch, use the following command:

git branch <branch-name>

Alternatively, you can create and switch to a new branch in one command:

git checkout -b <branch-name>

git switch -c <branch-name>

Switching to a Branch

To switch to an existing branch, use:

git checkout <branch-name>

git switch <branch-name>

Listing Branches

To list all branches in your repository, use:

git branch

# remote branches only
git branch -r

The currently active branch will be highlighted with an asterisk (*).

Renaming a Branch

To rename the current branch, use:

git branch -m <new-branch-name>

Deleting a Branch

To delete a branch that you no longer need, use:

git branch -d <branch-name>

If the branch has not been merged, you can force delete it with:

git branch -D <branch-name>

Updating Branches from remote

git fetch

# git fetch + git merge
git pull

Merging Branches

To merge changes from one branch into the current branch, use:

git merge <branch-name>

This command merges the specified branch into the current branch.

Summary

Branching in Git allows for flexible and powerful workflows. By using the commands above, you can create, manage, and merge branches to streamline your development process.