{"id":18836421,"url":"https://github.com/arusahni/git-req","last_synced_at":"2025-05-07T10:13:22.837Z","repository":{"id":9140959,"uuid":"61001419","full_name":"arusahni/git-req","owner":"arusahni","description":"Check out merge requests from your GitLab/GitHub hosted repositories from the command line with just the request number.","archived":false,"fork":false,"pushed_at":"2023-10-18T18:51:44.000Z","size":260,"stargazers_count":58,"open_issues_count":8,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-07T10:12:32.151Z","etag":null,"topics":["cli","git","gitextensions","github","gitlab","hacktoberfest","merge-requests"],"latest_commit_sha":null,"homepage":"https://arusahni.github.io/git-req/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arusahni.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-13T02:31:21.000Z","updated_at":"2025-03-02T18:01:44.000Z","dependencies_parsed_at":"2023-02-12T06:45:55.687Z","dependency_job_id":null,"html_url":"https://github.com/arusahni/git-req","commit_stats":null,"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Fgit-req","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Fgit-req/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Fgit-req/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arusahni%2Fgit-req/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arusahni","download_url":"https://codeload.github.com/arusahni/git-req/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252856557,"owners_count":21814858,"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":["cli","git","gitextensions","github","gitlab","hacktoberfest","merge-requests"],"created_at":"2024-11-08T02:21:59.370Z","updated_at":"2025-05-07T10:13:22.773Z","avatar_url":"https://github.com/arusahni.png","language":"Rust","readme":"![Github build status](https://github.com/arusahni/git-req/actions/workflows/ci.yml/badge.svg?branch=master)\n[![Latest version](https://img.shields.io/crates/v/git-req.svg?style=flat)](https://crates.io/crates/git-req)\n\ngit-req\n=======\n\n*Check out merge requests from your GitLab/GitHub hosted repos with ease!*\n\nWhy?\n----\n\n**jrdev**: Hey @aru, can you verify the issue you reported is fixed by mr 17?  \n**aru**: Oh? OK.  \n*aru switches to a browser, navigates to his org's GitLab instance, finds the\nproject, clicks to the merge requests view, finds the MR, reads the branch name\n(`hotfix/jrdevs_new_branch`), switches back to the terminal, inputs `git\ncheckout hotfix/jrdevs_new_branch` (no typos!), and starts reviewing.*\n\n---\n\nThat sucks. Too much context switching, too many clicks.  You know what's\neasier?\n\n```shell\n$ git req 17\nSwitched to branch 'hotfix/jrdevs_new_branch'\n```\n\nThat's exactly what `git-req` does.\n\nInstallation\n------------\n\n1. Install it:\n    * Homebrew (MacOS)\n        1. `brew tap arusahni/git-req`\n        2. `brew install git-req`\n    * AUR (Arch Linux)\n        1. `yay -Sy git-req`\n    * DEB (Debian / Ubuntu Linux)\n        1. [Download the `*.deb` file from the release page](https://github.com/arusahni/git-req/releases/latest).\n        2. `dpkg -i /path/to/file.deb`\n    * Everyone else\n        1. [Download the binary for your operating system from the release page](https://github.com/arusahni/git-req/releases/latest)\n        2. Decompress the archive\n        3. Place the `git-req` executable somewhere in your `$PATH`\n\nThe first time you run `git req \u003c#\u003e` it will prompt you for API credentials;\nuse a Personal Access Token.\n[This wiki page](https://github.com/arusahni/git-req/wiki/API-Keys) has\ninstructions on locating these on both GitLab and GitHub.\n\nConfiguration\n-------------\n\n`git-req` maintains two levels of configuration: Global and Project.\n\n#### Global\n\nPer-domain API keys are stored in the global scope, so your API keys can be\nused across projects.\n\nTo clear the API key: `git req --clear-domain-key`\nTo change the API key: `git req --set-domain-key NEW_KEY`\n\n#### Project\n\nProject IDs are stored in the project scope. This ID is tied to the git host\nbeing used.  If you change your upstream remote, you may have to edit this\nproperty.\n\nTo clear the project ID: `git req --clear-project-id`\nTo change the project ID: `git req --set-project-id PROJECT_ID`\n\n\nCompletions\n-----------\n\nCompletions are available for ZShell, Bash, and Fish shells.\n\n**ZShell**\n\n```bash\ngit req --completions zsh \u003e /path/to/zfunc/location/_git-req\nrm ~/.zcompdump\nexec zsh\n```\n\n**Bash**\n\n```bash\ngit req --completions bash \u003e git-req-completions.sh\nsource git-req-completions.sh  # add this to your .bashrc!\n```\n\n**Fish**\n\n```bash\ngit req --completions fish \u003e git-req-completions.fish\nsource git-req-completions.fish\n```\n\nContributing\n------------\n\nContributions are welcome! I'm especially looking for:\n\n* Supporting other services (e.g.  BitBucket).\n* Rust code reviews. This is my first non-trivial Rust project, so I'd love to\n  be corrected on best practices and patterns.\n\nNon-binary Version\n------------------\n\nThe last non-binary version of this was v1.0.0. If you don't wish to run (or\ncompile) the Rust executable, [feel free to use\nit](https://github.com/arusahni/git-req/releases/tag/1.0.0).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farusahni%2Fgit-req","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farusahni%2Fgit-req","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farusahni%2Fgit-req/lists"}