How can I delete all git branches which have been “Squash and Merge” via GitHub?

Here’s a script that will delete all local branches that have been squash merged into master: git checkout -q master && git for-each-ref refs/heads/ “–format=%(refname:short)” | while read branch; do mergeBase=$(git merge-base master $branch) && [[ $(git cherry master $(git commit-tree $(git rev-parse “$branch^{tree}”) -p $mergeBase -m _)) == “-“* ]] && git branch -D …

Read more

How do you squash commits into one patch with git format-patch?

I’d recommend doing this on a throwaway branch as follows. If your commits are in the “newlines” branch and you have switched back to your “master” branch already, this should do the trick: [adam@mbp2600 example (master)]$ git checkout -b tmpsquash Switched to a new branch “tmpsquash” [adam@mbp2600 example (tmpsquash)]$ git merge –squash newlines Updating 4d2de39..b6768b2 …

Read more