Skip to content

Instantly share code, notes, and snippets.

@mrkpatchaa
Last active June 6, 2024 21:03
Show Gist options
  • Save mrkpatchaa/63720cbf744a2bf59a3e9cfe73fc33b0 to your computer and use it in GitHub Desktop.
Save mrkpatchaa/63720cbf744a2bf59a3e9cfe73fc33b0 to your computer and use it in GitHub Desktop.
Bulk delete github repos

Use this trick to bulk delete your old repos or old forks

(Inspired by https://medium.com/@icanhazedit/clean-up-unused-github-rpositories-c2549294ee45#.3hwv4nxv5)

  1. Open in a new tab all to-be-deleted github repositores (Use the mouse’s middle click or Ctrl + Click) https://github.com/username?tab=repositories

  2. Use one tab https://chrome.google.com/webstore/detail/onetab/chphlpgkkbolifaimnlloiipkdnihall to shorten them to a list.

  3. Save that list to some path

  4. The list should be in the form of “ur_username\repo_name” per line. Use regex search (Sublime text could help). Search for ' |.*' and replace by empty.

  5. Register a new personal access token with a 'delete_repo perm' https://github.com/settings/tokens/new

  6. Copy the access_token and run the following line replacing xxx with your access token.

Linux and OS X :

while read r;do curl -XDELETE -H 'Authorization: token xxx' "https://api.github.com/repos/$r ";done < repos

Windows:

get-content D:\repolist.txt | ForEach-Object { Invoke-WebRequest -Uri https://api.github.com/repos/$_ -Method “DELETE” -Headers @{"Authorization"="token xxx"} }

Caution

I have only tested this script on Linux.

Have fun :)

@infr
Copy link

infr commented Nov 4, 2022

For deleting organization team repos

  1. Generate a personal access token with 'delete_repo' permission: https://github.com/settings/tokens/new
  2. Open the teams repositories view and run following in the browsers console
let repos = ''
const el = document.querySelectorAll('#org-team-repositories > ul > li > div:nth-child(1) > div > div:nth-child(2) > a > span').forEach(e => {repos = repos + `"${e.innerText}"\n`})
console.log(repos)
  1. Copy paste the output to @aug2uag shell script and run it (fixed extra space typo in it):
#!/bin/bash

repos=(
	"username/repo1"
	"username/repo2"
	"username/repo3"
)

for i in "${repos[@]}"
do
   : 
   echo 'Delete' "$i";
   curl -XDELETE -H 'Authorization: token XXXX' "https://api.github.com/repos/$i";
done

@connorferster
Copy link

@moollaza

I am generating the token from your link but the reporemover is telling me that the token is invalid? My tokens all start with ghp_ but reporemover is telling me they are invalid because of the underscore. Thoughts?

@moollaza
Copy link

@connorferster are you sure you don't have a typo? I just tested the link and generated a token with the ghp_ prefix and it worked. Open an issue on GitHub or via email and I can try to see what's going on.

@sandro-git
Copy link

In case anyone is interested, I built a little web app that helps you delete (or archive) multiple GitHub repos. It displays all your repos, and allows you to sort/filter them, and select which ones you want to modify. Under the hood, it just uses the GitHub API and an access token you provide.
You can try it out to at https://reporemover.xyz/.
It’s also open source, and available on GitHub.

Very, very, very helpful. Thank you!

awesome !!!!!!

@JaydotMurf
Copy link

@sandro-git This is awesome! Thanks for all your hard work putting the web app together.

@Codechiha
Copy link

In case anyone is interested, I built a little web app that helps you delete (or archive) multiple GitHub repos. It displays all your repos, and allows you to sort/filter them, and select which ones you want to modify. Under the hood, it just uses the GitHub API and an access token you provide.

You can try it out to at https://reporemover.xyz/.

It’s also open source, and available on GitHub.

Amazing !!!
Worked very well

@gdias1992
Copy link

In case anyone is interested, I built a little web app that helps you delete (or archive) multiple GitHub repos. It displays all your repos, and allows you to sort/filter them, and select which ones you want to modify. Under the hood, it just uses the GitHub API and an access token you provide.

You can try it out to at https://reporemover.xyz/.

It’s also open source, and available on GitHub.

Very helpful . Thank you!

@RandyLDP
Copy link

In case anyone is interested, I built a little web app that helps you delete (or archive) multiple GitHub repos. It displays all your repos, and allows you to sort/filter them, and select which ones you want to modify. Under the hood, it just uses the GitHub API and an access token you provide.

You can try it out to at https://reporemover.xyz/.

It’s also open source, and available on GitHub.

Amazing Thanks

@dz-s
Copy link

dz-s commented Apr 4, 2024

You can try it out to at https://reporemover.xyz/.

@moollaza Thanks a lot, saved my time, man.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment