Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 22nd, 2012  |  syntax: None  |  size: 0.67 KB  |  hits: 7  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. puts "Cleaning local branches"
  2.  
  3. unmerged_branches = `git branch --merged master`
  4. unmerged_branches = unmerged_branches.split(/\s*$\s*/).map(&:strip)
  5. unmerged_branches.each do |br|
  6.   unless br =~ /master/
  7.     puts "Deleting #{br}"
  8.     `git branch -D #{br}`
  9.   end
  10. end
  11.  
  12. puts "Cleaning remote branches"
  13.  
  14. puts "Prunning remote"
  15. `git remote prune origin`
  16. remote_merged_branches = `git branch -a --merged origin/master`
  17. remote_merged_branches = remote_merged_branches.split(/\s*$\s*/).map(&:strip)
  18. remote_merged_branches.map {|br| br.gsub!(/^remotes\/origin\//, '') }
  19.  
  20. remote_merged_branches.each do |br|
  21.   unless br =~ /master/
  22.     puts "Deleting #{br}"
  23.     `git push origin :#{br}`
  24.   end
  25. end