20 releases
| 0.2.14 | Jul 20, 2025 |
|---|---|
| 0.2.13 | Jul 19, 2025 |
| 0.2.10 | Dec 25, 2024 |
| 0.2.8 | Jan 1, 2024 |
| 0.1.3 | Dec 23, 2022 |
#744 in Command line utilities
1,002 downloads per month
62KB
842 lines
Gito /dʒɪtəʊ/ or /gɪtəʊ/
A CLI to expand the ability of `git`.
install
cargo install gito
Commands
get-upstream
alias: gup
get the parent repo ssh url based on github relationship if there is and set it as upstream remote
gito gup --remote-name [name] # default is `upstream`
gito gup # equals to `gito gup --remote-name upstream`

user
manage git user.
it's very useful when you have a few git accounts, like one is work account and one is github account.
there're some sub-commands inspired by nrm, you can see the detail by running gito user -h.
Here we give some example
gito user add github foo foo@example.com
gito user ls
you will see an output like
+--------+-------+-----------------+
| alias | name | email |
+--------+-------+-----------------+
| github | foo | foo@example.com |
+--------+-------+-----------------+
Similiarly, you can delete and use specific account by alias
amend
as we may have different git account, sometimes we may forget to change account, so we have to run git rebase -i <commit> to amend it.
so here based on the gito user, you can amend by alias, the workflow like:
git rebase -i <commit> # choose commit need to be edit
# notice that `github` is the alias we create before
gito ammend github
# equivalent to these two commands
# git commit --amend --author 'foo <foo@example.com>' --no-edit
#git rebase --continue #
init
git init with specific user info by alias
gito init github
open
Open websites related to the current git repository. This command allows you to quickly open predefined or custom URLs in your browser.
Assume you have this config on your device:
+----------+-------------------------------------------------+
| alias | base_url |
+----------+-------------------------------------------------+
| deepwiki | https://deepwiki.com/ |
+----------+-------------------------------------------------+
| github | https://github.com/|
+----------+-------------------------------------------------+
And your working directory is git@github.com:HomyeeKing/gito.git project.
gito open github # will open https://github.com/HomyeeKing/gito
And the base_url can now include placeholders:
<group>: Replaced by the first part ofgroup/name<name>: Replaced by the second part ofgroup/name<branch>: Replaced by the current Git repository's branch name.
You can change the github base_url as https://github.com/<group>/<name>/tree/<branch>
+----------+-------------------------------------------------+
| alias | base_url |
+----------+-------------------------------------------------+
| deepwiki | https://deepwiki.com/ |
+----------+-------------------------------------------------+
| github | https://github.com/<group>/<name>/tree/<branch>|
+----------+-------------------------------------------------+
This time the browser will open if you are working on branch feat/foo https://github.com/HomyeeKing/gito/tree/feat/foo.
So You can assemble any base_url with it~
branch
some branch action
gito branch delete <branch_name> # delete branch both locally and remotely
Dependencies
~15–34MB
~425K SLoC