Crates.io | git_extra |
lib.rs | git_extra |
version | 3.0.0 |
source | src |
created_at | 2022-09-28 21:14:02.307355 |
updated_at | 2024-05-26 00:44:14.194025 |
description | An extra useful set of Git related commands. |
homepage | |
repository | https://github.com/jlyonsmith/git_extra_rs |
max_upload_size | |
id | 676062 |
size | 35,641 |
An extra useful set of Git related commands. Requires that you have Git installed. Run git-extra
to see the full list.
Command | Description |
---|---|
browse |
Browse to the site hosting the origin for the current repo. Uses git remotes -vv to determine the correct site to open. Currently supports Git, GitLab, BitBucket or a self hosted Gitea site. |
quick-start |
Quickly start a new project by git clone and then running a customize script on the cloned repo (see below) |
The current release is only tested on macOS. In v2 the name of the executable has been changed to
git-extra
fromgit_extra
so that thegit
command sees it as a newextra
command.
Download and install with:
cargo install git_extra
Because the tool is name git-extra
if it's in your path it will show up as a new git command, e.g. you can type git extra --help
.
You can configure additioal shortcuts in your .gitconfig
configuration by running git config --global --edit
and adding:
[alias]
brw = !git-extra browse
qst = !git-extra quick-start
This will allow you to type git brw
or git qst
as a shortcut.
The quick-start
command does just two things:
You can specify the URL, e.g. https
, ssh:
or file:
, new directory and customization script on the command line OR, more usefully, use a shortcut name from a local repos.tomol
file. To do this, create a ~/.config/git_extra/repos.toml
file, then add all your favorite repo's URL's and descriptions in it. The file format is as follows:
[rust-cli]
description = "My favorite Rust CLI quickstart repo"
origin = "git@github.com:jlyonsmith/rust-cli-quickstart.git"
customizer = "customize.ts"
The TOML table name is the short name for the entry, i.e. rust-cli
in this case. The other fields are:
Name | Default | Description |
---|---|---|
description |
Empty | A description for the entry |
origin |
Required | The origin URL of the repo |
customizer |
customize |
The customization script to run in the root of the cloned project |
The customization script can be written in any scripting language. The file just needs to be marked as executable, e.g. with chmod u+x
. You can also include a #!
at the start of the script.
BE CAREFUL! There are no checks done on the script before running it, so don't
quick-start
from any repo that you haven't carefully examined first.
You can list all your saved repos with git_extra quick-start --list
.
pull-request
command that creates a pull request from origin
to upstream
fork
command that will fork an upstream
and add an origin
from the command lineset-config
command that updates local config based on a cloud based config