Skip to content

Instantly share code, notes, and snippets.

@zkiraly
Last active April 5, 2024 20:09
Show Gist options
  • Star 69 You must be signed in to star a gist
  • Fork 18 You must be signed in to fork a gist
  • Save zkiraly/c378a1a43d8be9c9a8f9 to your computer and use it in GitHub Desktop.
Save zkiraly/c378a1a43d8be9c9a8f9 to your computer and use it in GitHub Desktop.
Procedure to archive git branches.

How to prune unwanted git branches

Discover unwanted branchs

From http://www.darkcoding.net/software/cleaning-up-old-git-branches/

  1. Switch to the main branch, usually 'develop':

     git checkout develop
    
  2. Get a list of fully merged branches:

     git branch -a --merged
    

Prune unwanted branches

From http://www.aaronwest.net/blog/index.cfm/2011/6/7/Git-Workflows-Archiving-Old-Branches

  1. Tag the unwanted branch:

     git tag archive/sprintjuly2010 sprintjuly2010
    
  2. Delete the branch:

     git branch -d sprintjuly2010
    
  3. Push the branch deletion to origin:

     git push origin :sprintjuly2010
    
  4. Push the new tag to origin:

     git push --tags
    
  5. Restore a deleted branch from a tag:

     git checkout -b sprintjuly2010 archive/sprintjuly2010
    
@augustogiles
Copy link

Hi,
I made a script to prune all unwanted branches. You can check at:
https://gist.github.com/augustogiles/528176e0eac6b066195ff25e10f52849

@coder-candace
Copy link

This is exactly what I needed thank you!

@GhaniyKie
Copy link

Mantul, Bro!

@hustc12
Copy link

hustc12 commented Sep 11, 2023

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment