JIYIK CN >

Current Location:Home > Learning > OPERATING SYSTEM > Git >

Use Git Prune command to clean up Git repository

Author:JIYIK Last Updated:2025/04/01 Views:

In this article, we will discuss git prunethe 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 prunewhere the command comes into play.

We can git prunecall 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 prunethe command to eliminate such data.


Use git prunethe command

git pruneThe 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 prunethe 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 logthe command to check the commit history in our local repository.

$ git log --oneline

Submission History

Let's git resetroll back a commit using the command so that our HEADis at 第六次更新.

$ git reset --hard 27bd68b
HEAD is now at 27bd68b Sixth Update

Let's try to find the deleted commit.

$ git fsck --lost-found

Dangling

The deleted commit is first; we can confirm this with the first seven characters.

Before running git prunethe command, we must run a reflogwhich will nowexpire entries older than .

$ git reflog expire --expire=now --expire-unreachable=now --all

It would be best to dry runrun this command and see what changes occur.

$ git prune --dry-run

git – dry-run

We can now run prunethe command.

$ git prune --verbose --progress --expire=now

Let's check if the dangling commit still exists in our repository.

$ git fsck --lost-found

at last


git pruneThe difference between , git fetch --pruneandgit remote prune

git fetch --pruneThe and git remote prunecommands 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 --pruneA command is a combination of:

$ git fetch --all && git remote prune

It will prunefetch from our remote repository before starting As mentioned before, the basic git prunecommand 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.

Article URL:

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

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

Scan to Read All Tech Tutorials

Social Media
  • https://www.github.com/onmpw
  • qq:1244347461

Recommended

Tags

Scan the Code
Easier Access Tutorial