Git Req

Check out merge requests from your GitLab/GitHub hosted repositories from the command line with just the request number.
Alternatives To Git Req
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Httpie27,8561,6454214 days ago55May 06, 2022146bsd-3-clausePython
🥧 HTTPie for Terminal — modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more.
Wuzz10,17916 months ago7January 22, 202144agpl-3.0Go
Interactive cli tool for HTTP inspection
Hurl4,34125 hours ago8September 19, 202278apache-2.0Rust
Hurl, run and test HTTP requests with plain text.
Twurl1,750122a month ago20August 27, 202011mitRuby
OAuth-enabled curl for the Twitter API
3 years ago31October 28, 201819mitTypeScript
⚡️ CI-ready tests for REST APIs configured in YAML
Gh1,69627142 years ago138November 15, 202051otherTypeScript
(DEPRECATED) GitHub CLI made with NodeJS
Gitbeaker1,3083851435 hours ago171January 30, 202013otherTypeScript
🦊🧪 A comprehensive and typed Gitlab SDK for Node.js, Browsers, Deno and CLI
13 days ago24May 15, 202281mitHaskell
Easy dependency management for Nix projects
Racksh417386182 years ago16October 11, 20121mitRuby
Console for Rack based ruby web apps
Memento3841a year ago22October 03, 201958mitTypeScript
Memento is a development-only tool that caches HTTP calls once they have been executed.
Alternatives To Git Req
Select To Compare

Alternative Project Comparisons

Github build status Latest version


Check out merge requests from your GitLab/GitHub hosted repos with ease!


jrdev: Hey @aru, can you verify the issue you reported is fixed by mr 17?
aru: Oh? OK.
aru switches to a browser, navigates to his org's GitLab instance, finds the project, clicks to the merge requests view, finds the MR, reads the branch name (hotfix/jrdevs_new_branch), switches back to the terminal, inputs git checkout hotfix/jrdevs_new_branch (no typos!), and starts reviewing.

That sucks. Too much context switching, too many clicks. You know what's easier?

$ git req 17
Switched to branch 'hotfix/jrdevs_new_branch'

That's exactly what git-req does.


  1. Install it:

The first time you run git req <#> it will prompt you for API credentials; use a Personal Access Token. This wiki page has instructions on locating these on both GitLab and GitHub.


git-req maintains two levels of configuration: Global and Project.


Per-domain API keys are stored in the global scope, so your API keys can be used across projects.

To clear the API key: git req --clear-domain-key To change the API key: git req --set-domain-key NEW_KEY


Project IDs are stored in the project scope. This ID is tied to the git host being used. If you change your upstream remote, you may have to edit this property.

To clear the project ID: git req --clear-project-id To change the project ID: git req --set-project-id PROJECT_ID


Completions are available for ZShell, Bash, and Fish shells.


git req --completions zsh > /path/to/zfunc/location/_git-req
rm ~/.zcompdump
exec zsh


git req --completions bash >
source  # add this to your .bashrc!


git req --completions fish >


Contributions are welcome! I'm especially looking for:

  • Supporting other services (e.g. BitBucket).
  • Rust code reviews. This is my first non-trivial Rust project, so I'd love to be corrected on best practices and patterns.

Non-binary Version

The last non-binary version of this was v1.0.0. If you don't wish to run (or compile) the Rust executable, feel free to use it.

Popular Request Projects
Popular Command Line Projects
Popular Networking Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.