# gitez [![Crates.io][crates-badge]][crates-url] [crates-badge]: https://img.shields.io/crates/v/gitc.svg [crates-url]: https://crates.io/crates/gitez Gitez(ez means easy) is a CLI that simplifies managing your Git repositories. ## Installation Cargo ```shell cargo install gitez ```
Macos and Linux Coming soon...
Windows Coming soon...
## Features ### Clone Repository gitez provides a simple way to manage your git repositories. ```md $BASE |- github.com | `- group-name | `- project-name `- gitlab.com `- group-name `- project-name ``` First, you need to set the base directory where you want to store your repositories. ```shell gitez set-base-dir # gitez set-base-dir ~/dev ``` Second, clone a git repository. ```shell gitez clone # gitez clone https://github.com/luhc228/gitez ``` Then, you will get the following directory structure. ```md $BASE `- github.com `- luhc228 `- gitez ``` ### Manage Git User Config Do you ever have one more git user configs( for example one is for open source(GitHub) and another is for Work(GitLab))? And you use different username and email for your commits at work or for your open source repositories by mistake? gitez helps you manage and switch your git user configs easier. First, you need to add your git user configs. ```shell gitez user-config add # see the list of your git user configs you added gitez user-config list ``` Second, you can set a directory that uses one of yor git user configs.(powered by [gitdir config](https://git-scm.com/docs/git-config#Documentation/git-config.txt-codegitdircode)) ```shell gitez user-config add-include # gitez user-config add-include ``` ```md $BASE `- github.com # use github user config(name) `- gitlab.com # use gitlab user config(name) ``` Also, you can apply one of your git user configs to the current directory. ```shell gitez user-config apply # gitez user-config apply ``` ### Generate SSH Key You can generate an SSH key for your git repositories by the following command: ```shell gitez ssh-keygen ``` It will also add the SSH private key to the `~/.ssh/config` so that you can manage different SSH private keys for different git repositories.