How can I delete all Git branches which have been merged?

后端 未结 30 1413
离开以前
离开以前 2020-11-22 14:22

I have many Git branches. How do I delete branches which have already been merged? Is there an easy way to delete them all instead of deleting them one by one?

30条回答
  •  感动是毒
    2020-11-22 15:01

    Write a script in which Git checks out all the branches that have been merged to master.

    Then do git checkout master.

    Finally, delete the merged branches.

    for k in $(git branch -ra --merged | egrep -v "(^\*|master)"); do
      branchnew=$(echo $k | sed -e "s/origin\///" | sed -e "s/remotes\///")
      echo branch-name: $branchnew
      git checkout $branchnew
    done
    
    git checkout master
    
    for k in $(git branch -ra --merged | egrep -v "(^\*|master)"); do
      branchnew=$(echo $k | sed -e "s/origin\///" | sed -e "s/remotes\///")
      echo branch-name: $branchnew
      git push origin --delete $branchnew
    done
    

提交回复
热议问题