Recursively clone all your repos
|
|
||
|---|---|---|
| clone.py | ||
| LICENSE | ||
| README.md | ||
Clone Repos Python App
This Python app uses the GitHub CLI (gh) to clone all repositories from a specified GitHub user account, excluding repositories that are forked or archived. Repositories are cloned into a directory of your choice.
Features
- Filters out forked and archived repositories.
- Clones repositories into separate subdirectories.
- Easy to use with simple prompts.
Prerequisites
-
Python 3.6+ Ensure Python is installed on your system. Check by running:
python3 --version -
GitHub CLI (
gh) Install the GitHub CLI if not already installed. Follow the GitHub CLI installation guide. -
Git Ensure Git is installed. Check by running:
git --version
Installation
- Clone this repository or download the script.
- Ensure the script is executable:
chmod +x clone_repos.py
Usage
Run the script with Python:
python3 clone_repos.py
Steps:
- Enter your GitHub username when prompted.
- Specify the directory where repositories should be cloned.
- The app will fetch all non-forked, non-archived repositories and clone them into subdirectories within the specified folder.
Example
$ python3 clone_repos.py
Enter your GitHub username: exampleuser
Enter the directory where you want to clone the repos: /path/to/clone
exampleuser/repo1 has been cloned into /path/to/clone/repo1
exampleuser/repo2 has been cloned into /path/to/clone/repo2
All repos have been cloned into /path/to/clone
Dependencies
gh(GitHub CLI)git
Error Handling
- If the
ghCLI is not installed or configured, the script will notify you. - Errors during repository cloning will be logged to the console.
Contributing
Contributions are welcome! Please submit a pull request or file an issue to suggest improvements or report bugs.
License
This project is licensed under the GPLv3 License. See the LICENSE file for details.