Snippets

Ben Buchanan BASH: git cleaner script

Created by Ben Buchanan last modified Ben Buchanan
#!/usr/bin/bash

function the_cleaner {

    MERGED=(`git branch --merged | grep -v "\*"`)
    MERGEDCOUNT="${#MERGED[@]}"

    if [[ $MERGEDCOUNT -gt 0 ]]; then

      echo -e "\n  Merged local branches:\n"
      echo $MERGED
      echo -e "\n"

      read -r -p "  Delete local instances? [y/N] " response
      if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]
      then
          echo -e "\n  Deleting...\n"
          echo $MERGED | xargs -n 1 git branch -d
          git prune
      fi

      read -r -p "  Delete remote instances? [y/N] " response
      if [[ $response =~ ^([yY][eE][sS]|[yY])$ ]]
      then
          echo -e "\n  Deleting...\n"
          echo $MERGED | xargs -n 1 git push --delete origin
          git remote prune origin
      fi

      leon
      echo -e "\n  Done.\n"

    else
      echo -e "\n No merged local branches. \n"      
    fi

}

function leon {
cat << "EOF"
                                
                                               ``.`` ```` ``                    
                                            `.. `-`   ``                        
                                      `  `    .`  ` ``                          
                                              ``                                
                                  ``   .          `.--:/::-.                    
                                            .-+yhmmNNNNNmdho+-.``               
                                        .:odNNMMMMMMNNNNNNmmdys+:..`            
                                    `:smNNMMMMMMNNNNNNNNNNmdhyoo/:-.``          
                                  .omNMMMMMMMMNNNNNmNNMMMMMNNmdyo+:-.``         
                           `    `omMNMMMMMMMMMNNmdmNMMMMMNMMMMNms+:-..``        
                          `    :dNNNMMMMMMMMMmhdNMMNNMMNmdNMMMMNmh-.--.`        
                             .sNMMMMMMMMMMMdydNNNNNNMMNmddNMMMMNmdo+/o.`        
                    `....```+dNNMMMMMMMMNmsyNNddddNMMmddddNMMMMmmmdddyo:        
               `-/syhddddhsyhhdMMMMMMMMmy/hMmhyyhmMMdyysshdMMMMydNddh+-` ``     
            `:shdhhdmmNMMMMMNNmMMMMMMMdh:hMdssyhmMMdoso++sohhyhhyhdhh+::.       
          `/ddyydNNMMMMMMMMMMMMMMMMMMhd/yNmsoshmMMm++/::::----/Mmo+ss+/:.`      
         :dmsoyhmNMNMMMMMMMMMMMMNMNdmys:mm+:+yNMMm:/--....`  `shs/:.....```     
       `oNyoo+/+soymNMMMMMMMNNNmNmmmmm.-s:``omMMm:-..```     :oo```-.````       
      `yNo++:-/++ymNMMMMMNmmhhsyhysoho  `  .+sss-```        -:+y-`  `.`         
     .hm/::.-+ymMMMMMMNNNNmdyoo+++//os     ``.-.        `-:/:.--.```            
 `./smm/-..:yNMMMMMMNNmdhyyyhhooo++/+m.                `-o+:.....``     ``      
.mNMMN:.`-yNMMMMMMMNNNmmhso/+syhyyysoNd-             `-os/.``  ``    `` ``      
.dMMMh``/NMMMMMNmddhyyhhhys+::+syyhyyymNo:.`````---/oyy+-``````..`````          
  /dMs`.mNmdmmhso//::///+o+so/:/ohyhhyhysysodhyhhhdho/---........```            
   `Nh``shosso+:--...------/oso+/oyyhhhdsoyso+s+oso++//::-:---...```            
    sM+``:/::/:-.   ``..-::+shhho/oshhhmmdyso/oyhysso++/:::--...```````         
    `dNs.``//-:-.       `.:+syyyys/+yhdmNNNmhsoshdhyysso++//:---...`````        
     `omNdyod::--.`       `-/+oo+o/:ymdNNNMMMNmdhysso++o++//:---..`````         
        ./+os+-/:--`        -//////-oNmNMMMMMMMMMNmmdhyyyooo+/:--..```          
             s::::-..`      -:::::::smNMMMMMMMMMMMMMNNNmmmmhyo+:-...``          
             :++-.`````.....-------/mMMMMMMMMMMMMMNMNNmmmmhhso/--.```           
             ::---``    `````.`..:ohNMMMMMMMMMMMMMNmddmhhhyso/:-.````           
           .+do::::-      `.-/:+oydNMMMMMMMMMMMMMNmmdhhhsso//---.```            
          `+s//.--+.````   `:++sddNNMMMMMMMMMMMNNNmdhyyso+/:--.````             
           ++/.:/`:-`..`` `./:ysymmNNNNMMMMMMMMNmmddyyo++/:--.`````             
         `++:::/+odhss//-`.`+:-:+oyyhmdNNNMMMNNmmdhyso++/:---.````              
         //-ymmNNmhyyyyhyo:.//`..:/:soyhyNmNNdmmdhhso+///-:-.````               
       ./+/smsyyy+/:::/+ooosoo`.::/:-+/s+hhdysddhdys++/:::-.````````            
      `/yoydy/..```  ````.-:/o+:.--:.-oo://yyyhyyhyh/+/::.-.`````.              
      .soodo-..-:/+osoo+/-.``.-//:../:/s..-:+oysssss//:-/.-.....`.```           
     `os+do+sdmNNNNNNNNmmhyo:.``.:+//+-+.`-/::+oso:///---.-.--.-.....``         
     -s//hhmNNNNNNNmmmddmmmddyhs+--.---/:`.:.`-:/+::+/.::::.........```         
     /-:/dmdhhsyyyoosoooossssyyhhhys/::-..`.../--+++/.`:/:.``-..--..`.`         
    `o-:/dyso::-.----:::++oooyhddhysys/:::.:.-//-++/:--`::--`..--.--``.`        
    .:--+dy+/./...:../o+yyhsddmddhhhhhs+:.:-/-+:-+o+::/:-.:.....:-.````         
    ./.-yd+o:+:-/::/+sdhhdmddmmddhhhysyho/:.+:+/::o/-/.....:-..---. ```         
    .--:ddddshhyshyhmdNmNmmhdhddddddyysyy/-``.+//::/::..-..--..-..`` ```        
    `//yNmNNdmNNNNNNMMMMMNNmmmddddyhyhosy/:.``-/:+-::-.:--.:-.`-.`````          
    `:+hmmNNNNMMMMMMMMMMMMMMMNmmmshyshos/:.--:.`./:--.`.`-.`-``.`               
    -:/hddmNNmNNMMMMMMNMMMMMMNNmhdddhd+oso-./+:`.-..`/:.```.-.```               
   `-/+sddhdhhmNNMMNNNdmdNNmNdmmodhdsss++++:::/:::```.:.:````..                 
    ./+osyhdhhdmhNMmhNddddNdhdddymo/o:y/s+/--/:-:...````-``.`                   
   .-++++smdymmdhmmmdmyydhddshyy+h+s:-//++o:..`/::....``  ` .                   
    -+osodsy+dsoymmmmmdhsyyy/sydo//+//oo-+o:-``.:/:` ````                       
   `.:osoo+//::o+hmdhos//sy:/:+dh/.:-/+s+---:.  ````                            
   `.:///s+o/o++++ys++./-+-/o::/+o-:o--.-``:..`   ``                            
   .```-/--::+:/:+o-`..o-``...` ::: -:```.``                                    
    ` -.-`.``-:+``/`./`.`  .``  `.-  .    ``                                    
    ` .` .`  ::.: `..-``   ` `   ``  `                                          
       `  ``  `.. .`-  `   `                                                    
                  `                                                             
                                                                                
EOF
}

# just doing it this way because the ascii messes with the bash syntax highligher ;)
the_cleaner

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.