🚀 About The Project
This project provides a simple Zsh script (gitd
) to streamline the process of downloading Git repositories. It offers a user-friendly command-line interface to quickly clone repositories with customizable settings.
✨ Features
- 🔄 Easy Cloning: Quickly clone Git repositories with just a few commands.
- 📁 Customizable Base Directory: Choose your preferred base directory for downloaded repositories.
- 🎨 Stylish Logs: Colorful and informative logs for a better user experience.
- ⚙️ Configuration Options: Customize the script behavior using environment variables.
- ⚙️ Setup Option: Set up the downloaded repository, including installing dependencies.
🤔 Why gitd?
- Simplicity: gitd is designed to be straightforward and easy to use.
- Style: Enjoy stylish and colorful logs during the cloning process.
- Configurability: Tailor gitd to your preferences with customizable options.
🛠️ Built With
- Zsh (Z shell)
🚀 Getting Started
To get started with gitd
, follow the instructions below.
📋 Prerequisites
- Zsh or Bash installed on your system
- GitHub CLI (
gh
) for retrieving repository details
🛠️ Installation
You can install gitd
by running the following command in your terminal:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/Obed0101/gitd/main/install.sh)"
🛠️ Usage
Use the gitd script with the following syntax:
gitd [options] <repo_url> [options]
Replace <repo_url> with the URL of the Git repository you want to download. Optionally, you can specify a branch.
⚙️ Options:
Option | Description |
---|---|
-h, --help |
Show help message. |
-v, --version |
Display the script version. |
-s, --setup |
Set up the downloaded repository, including installing dependencies. |
-b, --branch |
Specify the branch for cloning. |
Note: The setup option is currently compatible with the following package managers and systems:
- npm: Node.js package manager
- yarn: Fast, reliable, and secure dependency management
- pnpm: Fast, disk space efficient package manager
- bundle: Ruby dependency manager
- mvn: Apache Maven for Java projects
- go: Go programming language
- gcc: GNU Compiler Collection (for C/C++ projects)
🌐 Customizing Repository Location
By default, gitd saves repositories in the $HOME/Repos directory. You can customize this location by setting the GITD_BASE_DIR environment variable. For example:
export GITD_BASE_DIR=~/my_repos
Add this line to your shell configuration file (e.g., .zshrc or .bashrc) to make it persistent across sessions.
🚀 Examples
- Clone a repository with the default settings:
gitd https://github.com/Obed0101/gitd
- Specify a branch for cloning:
gitd -b main https://github.com/Obed0101/gitd
- Set up a repository after cloning:
gitd -s https://github.com/example/repo
- Customize the base directory:
export GITD_BASE_DIR=~/Downloads
🌐 Compatible Setups and Operating Systems
gitd is compatible with Zsh and Bash on various operating systems.
📝 Release Notes
- Updated: Changed the order of auto-setup checks to prioritize non-JavaScript projects.
- Added: Removal of the '.git' directory after cloning a repository.
- Updated: Improved formatting for repository download size information.
Enjoy using gitd! If you encounter any issues or have suggestions, feel free to open an issue.