Will git prune a commit that is branchless but is tagged?

From what I understand, git will occasionally prune commits that are not reachable by any branches. However, does it still delete those commits, even if they have tags?

I was thinking of making some one off commits and tagging them, but only ever single commits, so no need for them to have branches attached.

  • Fatal Error : Can't resolve host github.com
  • How can I create a Docker image based on a git tag in the public Registry?
  • git does not ignore a file
  • is it possible to ignore .gitignore rules in subdirectory?
  • Meaning of Git checkout double dashes
  • Remote branch with multiple local tracking branches
  • Git checkout <SHA> and Heroku
  • Delete branch with jgit not working as expected
  • Exclude .svn folders within git
  • In a Git repository, how to properly rename a directory?
  • How to use git diff to only diff .cs files
  • Cannot make git diff use diff.external for external diff tool
  • 2 Solutions collect form web for “Will git prune a commit that is branchless but is tagged?”

    No, it will not delete any commits which are referenced by branches, tags, the index and so on or any parent of those commits. See “Notes” section of the help page for git gc:

    git gc tries very hard to be safe about the garbage it collects. In particular, it will keep not only objects referenced by your current set of branches and tags, but also objects referenced by the index, remote-tracking branches, refs saved by git filter-branch in refs/original/, or reflogs (which may reference commits in branches that were later amended or rewound).

    If you are expecting some objects to be collected and they aren’t, check all of those locations and decide whether it makes sense in your case to remove those references.

    No. Any commit that is reachable from any ref (branches, tags, even the stash), or transitively reachable (i.e. all their parents), are safe from being garbage collected for as long as those pointers to the commits exist.

    If you can reach your commit through a named reference, regardless of its type, you can be sure that it and its full history are available and will stay in the repository.

    Git Baby is a git and github fan, let's start git clone.