{"id":19320258,"url":"https://github.com/jlyonsmith/git_extra_rs","last_synced_at":"2026-02-23T21:45:20.350Z","repository":{"id":60385271,"uuid":"542389977","full_name":"jlyonsmith/git_extra_rs","owner":"jlyonsmith","description":"Extra git commands written in Rust","archived":false,"fork":false,"pushed_at":"2025-05-06T18:47:55.000Z","size":59,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-19T22:55:52.967Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jlyonsmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-28T03:25:35.000Z","updated_at":"2025-05-06T18:47:59.000Z","dependencies_parsed_at":"2024-11-10T01:28:48.886Z","dependency_job_id":"615609e4-7844-4175-a540-5f26c2af89a5","html_url":"https://github.com/jlyonsmith/git_extra_rs","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"24d9c7bc999428ee158f3bdccbd131a964491812"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jlyonsmith/git_extra_rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlyonsmith%2Fgit_extra_rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlyonsmith%2Fgit_extra_rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlyonsmith%2Fgit_extra_rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlyonsmith%2Fgit_extra_rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jlyonsmith","download_url":"https://codeload.github.com/jlyonsmith/git_extra_rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jlyonsmith%2Fgit_extra_rs/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261632135,"owners_count":23187270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T01:28:00.954Z","updated_at":"2026-02-23T21:45:15.328Z","avatar_url":"https://github.com/jlyonsmith.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Extra Commands\n\nAn extra useful set of Git related commands. Requires that you have [Git](https://git-scm.com) installed.  Run `git-extra` to see the full list.\n\n| Command       | Description                                                                                                                                                                                                                                                                                   |\n| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `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](https://github.com), [GitLab](https://gitlab.com), [BitBucket](https://bitbucket.org) or a self hosted [Gitea](https://gitea.io) site. |\n| `quick-start` | Quickly start a new project by `git clone` and then running a customize script on the cloned repo (see below)                                                                                                                                                                                 |\n\n## Installation\n\n\u003e The current release is only tested on macOS. In v2 the name of the executable has been changed to `git-extra` from `git_extra` so that the `git` command sees it as a new `extra` command.\n\nDownload and install with:\n\n```sh\ncargo install git_extra\n```\n\n## Git Configuration\n\nBecause 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`.\n\nYou can configure additioal shortcuts in your `.gitconfig` configuration by running `git config --global --edit` and adding:\n\n```toml\n[alias]\nbrw = !git-extra browse\nqst = !git-extra quick-start\n```\n\nThis will allow you to type `git brw` or `git qst` as a shortcut.\n\n## Quick Start\n\nThe `quick-start` command does just two things:\n\n1. Clones a repo from a URL into a new directory\n2. Runs a customization script\n\nYou 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:\n\n```toml\n[rust-cli]\ndescription = \"My favorite Rust CLI quickstart repo\"\norigin = \"git@github.com:jlyonsmith/rust-cli-quickstart.git\"\ncustomizer = \"customize.ts\"\n```\n\nThe TOML table name is the short name for the entry, i.e. `rust-cli` in this  case.  The other fields are:\n\n| Name          | Default     | Description                                                       |\n| ------------- | ----------- | ----------------------------------------------------------------- |\n| `description` | Empty       | A description for the entry                                       |\n| `origin`      | Required    | The `origin` URL of the repo                                      |\n| `customizer`  | `customize` | The customization script to run in the root of the cloned project |\n\nThe 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.\n\n\u003e 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.\n\nYou can list all your saved repos with `git_extra quick-start --list`.\n\n## To Do\n\n- Add `pull-request` command that creates a pull request from `origin` to `upstream`\n- Add `fork` command that will fork an `upstream` and add an `origin` from the command line\n- Add `set-config` command that updates local config based on a cloud based config\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlyonsmith%2Fgit_extra_rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjlyonsmith%2Fgit_extra_rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjlyonsmith%2Fgit_extra_rs/lists"}