The first one is super simple – we want to remove all the references that are no longer on the remote. This can be done by executing our first clean up command:
git fetch --prune
|
Then we can remove any of the old branches that have already been merged. For that we can use the below command:
git --no-pager branch --merged | grep -Ev 'master|^\*' | xargs git branch -d
|
The first command gets a listing all the branches that have already been merged:
git --no-pager branch --merged
|
Next we need to remove the branches we want to keep. This is being done with a reverse regex
1 | grep |
(anything separated by the
1 | | |
is a or). The first one is the master branch we obviously don’t want to remove that. The next one is the branch starting with a
1 | * |
or in our case this is the branch you are currently on. Feel free to add any other branch names in here; for instance
1 | develop |
if you’re using the git flow workflow:
grep -Ev 'master|^\*'
|
Lastly we want to delete all the branches that are being printed out. This bit is simple – we can just use the
1 | git branch -d |
command and run it with
1 | xargs |
so we can pipe to the command. You may want to leave this last bit off on the first run so you can see what branches will be deleted as there is no
1 | --dry-run |
flag for this delete command:
xargs git branch -d
|
More reads
Mkcert all the things
After Ade Attwood’s recent dive into TLS and creating server certificates with a root ca. This is a much simpler way with mkcert…
Future Web Design Skills
This post is a version of a recent lecture. The question is “What skills and knowledge might future designers be expected to know”.
Practically output – Our working summer 2020
It has been a busy summer for us here since March 2020. Here are just some of the design-led projects that we have completed in this time. Adapted from a show and tell presentation by Anna and Sam.