Created
June 17, 2020 22:56
-
-
Save chagel/328652e4bfdb1d6d315422d29195c8d0 to your computer and use it in GitHub Desktop.
Git workflow
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# local | |
# list local branches that merged | |
git br --merged master | grep -v master | |
# delete local branches that merged | |
git branch --merged master | grep -v master | xargs git branch -d | |
# list local brances not in remote(origin) | |
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }' | |
# delete local refs from removed remote branches | |
git remote prune origin --dry-run | |
git remote prune origin | |
# pull all remote branches and referenced in local | |
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done | |
git fetch --all | |
git pull --all | |
# remote | |
# list remote merged branches ordered by last commit time desc | |
for branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r | |
# delete remote merged branches that last commit before Y2020 | |
for branch in `git branch -r --merged | grep -v HEAD`; do echo -e `git show --format="%ci %cr %an" $branch | head -n 1` \\t$branch; done | sort -r | grep -v 2020 | awk -F '\torigin/' '{print $2}' | xargs -n1 -r git push -d origin | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment