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-extrafromgit_extraso that thegitcommand sees it as a newextracommand.
Download and install with:
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:
[]
= !git-extra browse
= !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:
[]
= "My favorite Rust CLI quickstart repo"
= "git@github.com:jlyonsmith/rust-cli-quickstart.git"
= "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-startfrom 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-requestcommand that creates a pull request fromorigintoupstream - Add
forkcommand that will fork anupstreamand add anoriginfrom the command line - Add
set-configcommand that updates local config based on a cloud based config