7 stable releases
3.0.0 | May 26, 2024 |
---|---|
2.1.1 | Mar 25, 2023 |
2.1.0 | Feb 22, 2023 |
1.1.1 | Dec 16, 2022 |
1.0.0 | Sep 28, 2022 |
#1205 in Development tools
410 downloads per month
20KB
381 lines
Git Extra Commands
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) |
Installation
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
Git Configuration
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.
Quick Start
The quick-start
command does just two things:
- Clones a repo from a URL into a new directory
- Runs a customization script
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
.
To Do
- Add
pull-request
command that creates a pull request fromorigin
toupstream
- Add
fork
command that will fork anupstream
and add anorigin
from the command line - Add
set-config
command that updates local config based on a cloud based config
Dependencies
~5–17MB
~173K SLoC