Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/9999years/git-gr
A Gerrit CLI
https://github.com/9999years/git-gr
Last synced: 2 months ago
JSON representation
A Gerrit CLI
- Host: GitHub
- URL: https://github.com/9999years/git-gr
- Owner: 9999years
- Created: 2024-04-01T16:32:57.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-10-22T17:40:50.000Z (3 months ago)
- Last Synced: 2024-10-23T21:55:15.422Z (3 months ago)
- Language: Rust
- Size: 133 KB
- Stars: 10
- Watchers: 4
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# git-gr
[![Crates.io](https://img.shields.io/crates/v/git-gr)](https://crates.io/crates/git-gr)
A Git [Gerrit][gerrit] command-line client.
[gerrit]: https://www.gerritcodereview.com/
[![Terminal recording demonstrating various git-gr features](https://asciinema.org/a/682490.svg)](https://asciinema.org/a/682490)
## Commands
- `push`: Push your current branch to Gerrit
- `checkout CL`: Checkout a CL by number
- `fetch CL`: Fetch a CL by number
- `view [CL]`: View a CL, by default the current CL, in your web browser
- `query [--mine|--needs-review] [QUERY]`: Search for CLs### Stacks
One of Gerrit's best features is its native support for stacks of CLs. However,
it's not always easy to keep stacks up to date. `git-gr` provides a number of
tools to help:- `restack`: Restack CLs, updating CLs against the base branch and rebasing
subsequent CLs on previous ones.
- `restack push`: Push a stack of CLs to Gerrit after restacking
- `restack this`: Restack a single CL on its immediate parent
- `restack continue` Continue an in-progress restack after fixing conflicts
- `restack abort` Abort an in-progress restack instead of fixing conflicts
- `up`: Checkout this CL's parent
- `down`: Checkout this CL's child
- `top`: Checkout the top-most CL in the current stack (this CL will be
targeting the base branch and can be merged next)### API Access
`git-gr` also offers several lower-level utility commands:
- `cli`: Run a `gerrit` command on the remote server
- `api`: Make a request to the Gerrit REST API