Use Git Prune command to clean up Git repository
In this article, we will discuss git prune
the command and its uses. We know that Git is very careful with our data.
When we delete data like commits, Git doesn't easily lose them. This can lead to stale data piling up in our machines.
This is git prune
where the command comes into play.
We can git prune
call the command a housekeeping utility in Git that is used to clean up orphaned or unreachable Git objects. When we talk about unreachable objects, they are objects that are not reachable from the current refs in our repository.
A good example is when we git reset <Commit ID>
roll back to a previous commit using the command. Git stores the deleted commit as a dangling object.
We use git prune
the command to eliminate such data.
Use git prune
the command
git prune
The command has several useful options, which are listed below.
$ git prune --dry-run
We run the above command to get the output of the command. It does not execute prune
.
$ git prune --verbose
The above command will show us all actions and related objects.
$ git prune --progress
We use the command above to check git prune
the progress of .
$ git prune --expire <time>
We use the above command to delete <time>
objects older than a specified time ( ).
To better understand this concept, let's look at a practical example. Let's run git log
the command to check the commit history in our local repository.
$ git log --oneline
Let's git reset
roll back a commit using the command so that our HEAD
is at 第六次更新
.
$ git reset --hard 27bd68b
HEAD is now at 27bd68b Sixth Update
Let's try to find the deleted commit.
$ git fsck --lost-found
The deleted commit is first; we can confirm this with the first seven characters.
Before running git prune
the command, we must run a reflog
which will now
expire entries older than .
$ git reflog expire --expire=now --expire-unreachable=now --all
It would be best to dry run
run this command and see what changes occur.
$ git prune --dry-run
We can now run prune
the command.
$ git prune --verbose --progress --expire=now
Let's check if the dangling commit still exists in our repository.
$ git fsck --lost-found
git prune
The difference between , git fetch --prune
andgit remote prune
git fetch --prune
The and git remote prune
commands have similar functionality. We use them to delete references to deleted branches in the remote repository.
It comes in handy when working as a team and you want to get rid of remote branches that were deleted after being merged into the master branch.
git fetch --prune
A command is a combination of:
$ git fetch --all && git remote prune
It will prune
fetch from our remote repository before starting As mentioned before, the basic git prune
command will delete the local objects.
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
Git installation and establishment of local warehouse service
Publish Date:2025/04/05 Views:89 Category:Git
-
Git is a distributed version control system: the client does not only extract the latest version of the file snapshot, but also completely mirrors the original code repository. It has the following advantages: a. Since every extraction oper
git remote operation——multiple remote repositories for one project
Publish Date:2025/04/05 Views:131 Category:Git
-
Multiple remote repositories for a git project In our git project, the command to operate the remote repository information is $ git remote # 查看当前所有的远程仓库的名称 $ git remote -v # 查看远程仓库的名称和远程仓
Git cherry pick command usage
Publish Date:2025/04/05 Views:190 Category:Git
-
git cherry-pick is a powerful command that allows us to select an arbitrary Git commit by reference and attach it to the HEAD of the current working branch. Cherry picking is the act of picking a commit from one branch and applying it to an
Comparison between Git merge and Git rebase
Publish Date:2025/04/05 Views:171 Category:Git
-
The git rebase command may seem like Git wizardry to beginners, but if used carefully, it can actually make life easier for your development team. In this article, we compare git rebase with the related git merge command and identify all th
How to fix Git error Error: src refspec master does not match any
Publish Date:2025/04/05 Views:124 Category:Git
-
When using Git, we may encounter the error "src refspace master does not match any". Here's what the error means and how to fix it. What does src refspec master does not match any Mean in Git mean? We may encounter this error when we try to
Rebase local branch when pulling changes from remote repository branch in Git
Publish Date:2025/04/05 Views:144 Category:Git
-
This article will cover the basics of rebasing your local branch when pulling changes from a remote repository branch in Git. We use the version control system Git to track changes made to files. We commit changes in a local branch in our l
Undo Git Stash
Publish Date:2025/04/04 Views:187 Category:Git
-
This article explains how to make and save changes to a repository. Git allows you to save changes locally and push them to a server when needed. In Git, we don't use the term save , but commit . We use git add , git commit , and git stash
View a list of cache entries in Git
Publish Date:2025/04/04 Views:59 Category:Git
-
We often need to pause our work and focus on something else in our development environment. Therefore, we may need to temporarily save our current work and focus on a different one. We may want to resume our original work later. git stash T
Git stores specific files
Publish Date:2025/04/04 Views:115 Category:Git
-
This article will cover storing changes to only specific files in Git. In Git, when we make some changes in our working tree, we may have some changes which may or may not be staged in our local repo. We may now wish to save these changes f