https://github.com/lukasbach/github-takeout
A utility for cloning all your repos, including issues, discussions, stargazers and more!
https://github.com/lukasbach/github-takeout
backup bulk cli clone download git github repo takeout utility
Last synced: 2 months ago
JSON representation
A utility for cloning all your repos, including issues, discussions, stargazers and more!
- Host: GitHub
- URL: https://github.com/lukasbach/github-takeout
- Owner: lukasbach
- License: mit
- Created: 2022-10-14T21:59:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-10-16T16:36:56.000Z (about 3 years ago)
- Last Synced: 2025-04-05T22:32:37.134Z (7 months ago)
- Topics: backup, bulk, cli, clone, download, git, github, repo, takeout, utility
- Language: TypeScript
- Homepage:
- Size: 1.81 MB
- Stars: 15
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# github-takeout
> A utility for cloning all your repos, including issues, discussions, stargazers and more!

The tool gives you the ability to download a copy of your data on Github. You can highly customize what you want and what not, and also in which form. With all options enabled, the downloaded data includes
- clones of the repositories, optionally with all branches on remote
- all issues, including PRs, as HTML reports and raw JSON dumps, as well as .diff and .patch files for the PRs
- release information, including an HTML report of releases, and all release assets (optionally only from the latest release)
- HTML lists and JSON dumps of your starred/watched repos, stargazer lists of all your repos, lists of deploy keys, secrets and more
If enabled, the tool can also zip every repo individually afterwards. The process runs fairly quickly since most operations are performed parallelized to utilize resources.
## How to use
Install globally via
npm install -g github-takeout
or directly use via
npx github-takeout
You can also [download a prebuilt binary](https://github.com/lukasbach/github-takeout/releases) and run that.
Usage:
Just run `github-takeout` or `npx github-takeout` if you have not installed it.
The wizard will lead you through the process.
## How to develop
- `yarn` to install dependencies
- `yarn start` to run in dev mode
- `yarn test` to run tests
- `yarn lint` to test and fix linter errors
To publish a new version, the publish pipeline can be manually
invoked.