https://github.com/reedjones/gitgorilla
create a git repository by merging multiple repos into one
https://github.com/reedjones/gitgorilla
cli git git-tools merge-repository multiple-repos multiple-repositories python tools
Last synced: 4 months ago
JSON representation
create a git repository by merging multiple repos into one
- Host: GitHub
- URL: https://github.com/reedjones/gitgorilla
- Owner: reedjones
- License: mit
- Created: 2024-08-08T19:14:25.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-08-08T19:26:41.000Z (10 months ago)
- Last Synced: 2024-12-28T22:17:07.638Z (5 months ago)
- Topics: cli, git, git-tools, merge-repository, multiple-repos, multiple-repositories, python, tools
- Language: Python
- Homepage: https://github.com/reedjones/gitgorilla
- Size: 43.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
GitGorilla 🦍
![]()
**GitGorilla** is a powerful CLI tool that allows you to seamlessly merge multiple Git repositories into a single new repository on GitHub. It automates the creation of the new repository, merges the specified repositories, and provides real-time progress updates, making the process efficient and hassle-free.
## Features
- **Merge Multiple Repositories:** Combine multiple Git repositories into one, preserving their histories.
- **Automatic Remote Repository Creation:** Uses the `gh` tool to create a new repository on GitHub and sets it up for you.
- **Progress Tracking:** Displays a progress bar and status updates to keep you informed throughout the process.
- **Customizable Input:** Accepts various input formats for repository names and URLs.
- **Interactive Environment Setup:** Prompts for and sets a default GitHub username if not already configured.## Installation
### Prerequisites
- **Python 3.6+**
- **`gh` GitHub CLI tool**: [Install the GitHub CLI](https://cli.github.com/)
- **Git**### Install GitGorilla
You can install GitGorilla by cloning the repository and installing the dependencies.
```bash
git clone https://github.com/reedjones/gitgorilla.git
cd gitgorilla
pip install -r requirements.txt
```## Usage
### Basic Command
```bash
python merge_repos.py --public
```Example:
```bash
python merge_repos.py user/repo1 user/repo2 repo3 my-new-repo --public
```This command will:
- Create a new public GitHub repository named my-new-repo.
- Merge repo1, repo2, and repo3 into my-new-repo.
- Push the merged content to the new GitHub repository.## Options
- --public/--private: Set the visibility of the new repository.
- --clone: Automatically clone the new repository to your local machine (default behavior).### Input Formats
- Full URLs:
- Short URLs: user/repo1
- Repo Names Only: repo1 (defaults to the username set in your environment)#### Setting Default GitHub Username
If a default GitHub username is not set in your environment, GitGorilla will prompt you to enter one. This will be saved for future use.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an issue if you encounter any problems.
## License
This project is licensed under the MIT License. See the LICENSE file for more details.
## Contact
Created by Reed Jones - feel free to reach out!