{"id":13574742,"url":"https://github.com/mykolaharmash/git-jump","last_synced_at":"2025-03-17T09:00:27.691Z","repository":{"id":53485710,"uuid":"280176985","full_name":"mykolaharmash/git-jump","owner":"mykolaharmash","description":"Improved navigation between Git branches.","archived":false,"fork":false,"pushed_at":"2021-04-15T14:24:58.000Z","size":27082,"stargazers_count":206,"open_issues_count":6,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-12T00:14:54.788Z","etag":null,"topics":["branches","cli","cli-ui","fuzzy-search","git"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/mykolaharmash.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-07-16T14:34:13.000Z","updated_at":"2025-01-27T08:18:10.000Z","dependencies_parsed_at":"2022-08-13T02:40:30.548Z","dependency_job_id":null,"html_url":"https://github.com/mykolaharmash/git-jump","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykolaharmash%2Fgit-jump","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykolaharmash%2Fgit-jump/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykolaharmash%2Fgit-jump/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mykolaharmash%2Fgit-jump/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mykolaharmash","download_url":"https://codeload.github.com/mykolaharmash/git-jump/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006204,"owners_count":20382439,"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":["branches","cli","cli-ui","fuzzy-search","git"],"created_at":"2024-08-01T15:00:54.302Z","updated_at":"2025-03-17T09:00:27.601Z","avatar_url":"https://github.com/mykolaharmash.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"![git-jump CLI logo](https://raw.githubusercontent.com/mykolaharmash/git-jump/main/img/readme-banner.png)\n\n# Git Branches Helper\n\n* Interactive UI to view and switch branches\n* Sorting by recently used\n* Fuzzy search\n* Fuzzy switch: `git jump hlw` → `git switch hello-world`\n* Uses native `git switch` under the hood, supports all its parameters\n\nGive it a ⭐️ if you like it. This really helps.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/mykolaharmash/git-jump/main/img/demo.gif\" alt=\"git jump interactive interface\" width=\"600px\" style=\"border-radius: 5px;\" /\u003e\n\u003c/p\u003e\n\n## Install\n\n```shell\nnpm install -g git-jump\n```\nor using Homebrew\n```shell\nbrew tap mykolaharmash/git-jump\nbrew install git-jump\n```\n\n## Usage\n\n```shell\ngit jump\n```\nRun without arguments to launch the interactive UI.\n\n* At first, branches are not sorted. Once you start switching around, `git jump` will track the history and sort the list, so that the most recently used branches are at the top and can be accessed faster.\n* Navigate the list with ↓↑ arrows and hit enter ⏎ to switch into selected branch.\n* On the left hand side of the list you'll see a number next to a brunch name. Use \u003ckbd\u003eOption\u003c/kbd\u003e+\u003ckbd\u003e\\\u003cnumber\\\u003e\u003c/kbd\u003e for quick switch (\u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003e\\\u003cnumber\\\u003e\u003c/kbd\u003e on Windows and Linux).\n* Start typing to filter the list. The search is fuzzy, you don't have to be precise.\n* Ctrl+C to exit.\n\n\u003cbr /\u003e\n\n```shell\ngit jump \u003cbranch name\u003e\n```\nSwitches to a branch. `\u003cbranch name\u003e` can be just part of the name, `git jump` will look for the best matching branch.\n\n\u003cbr /\u003e\n\n```shell\ngit jump [--list | -l]\n```\nShows a plain list of branches without interactive UI but with sorting.\n\n\u003cbr /\u003e\n\n```shell\ngit jump \u003cany native switch arguments\u003e\n```\n\nYou can use `git jump` as a drop-in replacement for [native `git switch`](https://git-scm.com/docs/git-switch). `git jump` will proxy all the argument to the native command, so you don't have to think to use one or the other.\n\nFor example `git jump my-branch --discard-changes` works just fine.\n\n\u003cbr /\u003e\n\n```shell\ngit jump new \u003cbranch name\u003e\n```\nCreates a new branch and switches into it. Supports all native parameters of `git switch`, for example `git jump new \u003cbranch name\u003e --track origin/main`.\n\n\u003cbr /\u003e\n\n```shell\ngit jump rename \u003cbranch name\u003e \u003cnew branch name\u003e\n```\nRenames a branch.\n\n\u003cbr /\u003e\n\n```shell\ngit jump delete \u003cbranch name\u003e [\u003cbranch name\u003e, ...]\n```\nDeletes one or multiple branches. No fuzzy matching here, of course 🙂.\n\n\n## How To Enable \u003ckbd\u003eOption/Alt\u003c/kbd\u003e+\u003ckbd\u003e\\\u003cnumber\\\u003e\u003c/kbd\u003e Shortcut\n\nIt might be disabled by default in your terminal, here is how to make it work in some apps.\n\n### iTerm 2\n\nIn Preferences go to `Profiles`, select your profile and go to `Keys`. At the bottom set `Left Option (⌥) Key` to `Esc+`.\n\n![iTerm 2 app preferences window](https://raw.githubusercontent.com/mykolaharmash/git-jump/main/img/iTerm-Option-key@2x.png)\n\n### macOS Terminal\n\nIn Preferences go to `Profiles`, select your profile and go to `Keyboard`. Enable `Use Option as Meta key` checkbox.\n\n![macOS Terminal app preferences window](https://raw.githubusercontent.com/mykolaharmash/git-jump/main/img/Terminal-Option-key@2x.png)\n\n### Hyper\n\nOpen `.hyper.js` and add next line to the `config` section:\n\n```js\nmodifierKeys: { altIsMeta: true }\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmykolaharmash%2Fgit-jump","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmykolaharmash%2Fgit-jump","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmykolaharmash%2Fgit-jump/lists"}