Deleting a local branch that is no longer in the remote repository in Git
Suppose your project has many branches created on your local machine but not present in the remote repository. You can easily delete all local branches that are out of sync with the remote repository, but before that, you may want to check all the branches available in your local machine, you can run git branch
.
Now, to list all remote branches, you can use git branch -r
the command. To achieve both results in one command, you can use git branch -a
the command. After confirming the branch, you can continue reading the rest of this article.
Deleting (pruning) local branches in Git
You can easily run the following command to prune tracking branches that are not on the remote repository.
git remote prune origin
The command above will prune the tracking branches that are not on the remote repository, but the local branches have not been deleted. To actually delete the local branches, you may need to perform the additional steps explained below.
-
List all branches with verbose output,
git branch -vv
Now, you pipe the output to grep to find out
origin/.* : gone]
becausegone
the status is placed on a branch that is not available in the remote repository but is available on your local machine.grep 'origin/.*: gone]'
-
Again piping the output to Format
awk
(which is a very good formatting tool) looks like this.awk '{print $1}'
-
Finally, you want to pipe the output to
xargs
, which is used when you need to take the output from one command and use it as an argument to another command. You do not pipe the output of step 2 togit branch -d
the command to delete the local branch, as shown below.xargs git branch -d
So the last two linear commands to prune and remove all local branches that are not available in the remote repository are as follows.
git remote prune origin
After running the above command, you may want to run the following command to delete the local branches that are not available in the remote repository.
git branch -vv | grep 'origin/.*: gone]' | awk '{print $1}' | xargs git branch -d
For reprinting, please send an email to 1244347461@qq.com for approval. After obtaining the author's consent, kindly include the source as a link.
Related Articles
Moving commits to another branch in Git
Publish Date:2025/04/01 Views:200 Category:Git
-
Git is a very useful and powerful tool in the modern software world. Many types of files and codes can be stored through branches and commits in Git. Branches are a different concept depending on the version control system you use. Many dev
Git push using SSH keys
Publish Date:2025/04/01 Views:94 Category:Git
-
SSH stands for Secure Shell. It is the key that provides us with the credentials to access the SSH network protocol. It provides access to remote servers between engines on an unsecured open network. It is used for transferring data, files,
Delete commits but keep changes in Git
Publish Date:2025/04/01 Views:179 Category:Git
-
This article outlines the steps necessary to undo a Git commit while preserving the changes introduced by the same commit. We'll cover two commands we can use that have the same effect. Without further ado, let’s jump right in. Remove com
Different ways to commit untracked files in Git
Publish Date:2025/04/01 Views:198 Category:Git
-
This article discusses the different methods we can use to commit untracked files in Git. If you introduce new files in your project in Git, these files will fall under the category of untracked files. With respect to the Git version contro
Git add all but one file to commit
Publish Date:2025/04/01 Views:73 Category:Git
-
This article explains how to add all files to commit while excluding selected files. This comes in handy when you have many files to include in a commit and must leave out one file. Instead of adding files one at a time, you can follow thes
Git exits the commit message editor
Publish Date:2025/04/01 Views:91 Category:Git
-
This article outlines the steps to exit the commit message editor in Git. When you merge or make a commit in Git, the console prompts you to provide a commit message that briefly describes the new commit. Git opens your default text editor,
git add, git commit and git push are combined into one command
Publish Date:2025/04/01 Views:142 Category:Git
-
This article discussed two methods that you can use to add, commit, and push files to a remote repository with a single command. When making small changes to a single file, you still need to follow the three-stage process of publishing chan
Git Add and Git Commit merged into one command
Publish Date:2025/04/01 Views:184 Category:Git
-
This article discusses combining the git add and git commit commands into one command line. Combining the two commands into one can save you time. When combining these two commands, you have to keep in mind what you are committing to. Let's
Git list commits
Publish Date:2025/04/01 Views:66 Category:Git
-
Git is the most common, free and open source distributed version control system. It has repositories that play an important role in the Git world. As a result of this feature of Git, repositories hold a huge significance in the life of deve