A supercharged Git/GitHub command line interface (CLI). An official integration for GitHub and GitHub Enterprise: https://github.com/works-with/category/deskto
A supercharged Git/GitHub command line interface (CLI). An official integration for GitHub and GitHub Enterprise: https://github.com/works-with/category/deskto
An Official Integration for GitHub and GitHub Enterprise.
gitsome ======= [](https://pypi.python.org/pypi/gitsome/) [](http://www.apache.org/licenses/LICENSE-2.0.html) ## Why `gitsome`? ### The Git Command Line Although the standard Git command line is a great tool to manage your Git-powered repos, it can be **tough to remember the usage** of: * 150+ porcelain and plumbing commands * Countless command-specific options * Resources such as tags and branches The Git command line **does not integrate with GitHub**, forcing you to toggle between command line and browser. ## `gitsome` - A Supercharged Git/GitHub CLI With Autocomplete`gitsome` aims to supercharge your standard git/shell interface by focusing on: * **Improving ease-of-use** * **Increasing productivity** ### Deep GitHub Integration Not all GitHub workflows work well in a terminal; `gitsome` attempts to target those that do. `gitsome` includes 29 GitHub integrated commands that work with **[ALL](#enabling-gh-tab-completions-outside-of-gitsome)** shells: $ gh [param] [options] * [Quick reference](#github-integration-commands-quick-reference) * [General reference](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md) Run `gh` commands along with [Git-Extras](https://github.com/tj/git-extras/blob/master/Commands.md) and [hub](https://hub.github.com/) commands to unlock even more GitHub integrations! ### Git and GitHub Autocompleter With Interactive Help You can run the **optional** shell: $ gitsome to enable **autocompletion** and **interactive help** for the following: * Git commands * Git options * Git branches, tags, etc * [Git-Extras commands](https://github.com/tj/git-extras/blob/master/Commands.md) * [GitHub integration commands](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md) ### General Autocompleter `gitsome` autocompletes the following: * Shell commands * Files and directories * Environment variables * Man pages * Python To enable additional autocompletions, check out the [Enabling Bash Completions](#enabling-bash-completions) section. ## Fish-Style Auto-Suggestions `gitsome` supports Fish-style auto-suggestions. Use the `right arrow` key to complete a suggestion. ## Python REPL `gitsome` is powered by [`xonsh`](https://github.com/scopatz/xonsh), which supports a Python REPL. Run Python commands alongside shell commands: Additional `xonsh` features can be found in the [`xonsh tutorial`](http://xon.sh/tutorial.html). ## Command History `gitsome` keeps track of commands you enter and stores them in `~/.xonsh_history.json`. Use the up and down arrow keys to cycle through the command history. ## Customizable Highlighting You can control the ansi colors used for highlighting by updating your `~/.gitsomeconfig` file. Color options include: ``` 'black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white' ``` For no color, set the value(s) to `None`. `white` can appear as light gray on some terminals. ## Available Platforms `gitsome` is available for Mac, Linux, Unix, [Windows](#windows-support), and [Docker](#running-as-docker-container). ## TODO >Not all GitHub workflows work well in a terminal; `gitsome` attempts to target those that do. * Add additional GitHub API integrations `gitsome` is just getting started. Feel free to [contribute!](#contributing) ## Index ### GitHub Integration Commands * [GitHub Integration Commands Syntax](#github-integration-commands-syntax) * [GitHub Integration Commands Listing](#github-integration-commands-listing) * [GitHub Integration Commands Quick Reference](#github-integration-commands-quick-reference) * [GitHub Integration Commands Reference in COMMANDS.md](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md) * [`gh configure`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-configure) * [`gh create-comment`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-create-comment) * [`gh create-issue`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-create-issue) * [`gh create-repo`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-create-repo) * [`gh emails`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-emails) * [`gh emojis`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-emojis) * [`gh feed`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-feed) * [`gh followers`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-followers) * [`gh following`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-following) * [`gh gitignore-template`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-gitignore-template) * [`gh gitignore-templates`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-gitignore-templates) * [`gh issue`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-issue) * [`gh issues`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-issues) * [`gh license`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-license) * [`gh licenses`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-licenses) * [`gh me`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-me) * [`gh notifications`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-notifications) * [`gh octo`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-octo) * [`gh pull-request`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-pull-request) * [`gh pull-requests`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-pull-requests) * [`gh rate-limit`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-rate-limit) * [`gh repo`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-repo) * [`gh repos`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-repos) * [`gh search-issues`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-search-issues) * [`gh search-repos`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-search-repos) * [`gh starred`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-starred) * [`gh trending`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-trending) * [`gh user`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-user) * [`gh view`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-view) * [Option: View in a Pager](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#option-view-in-a-pager) * [Option: View in a Browser](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#option-view-in-a-browser) ### Installation and Tests * [Installation](#installation) * [Pip Installation](#pip-installation) * [Virtual Environment Installation](#virtual-environment-installation) * [Running as a Docker Container](#running-as-a-docker-container) * [Running the `gh configure` Command](#running-the-gh-configure-command) * [For GitHub Enterprise Users](#for-github-enterprise-users) * [Enabling Bash Completions](#enabling-bash-completions) * [Enabling `gh` Tab Completions Outside of `gitsome`](#enabling-gh-tab-completions-outside-of-gitsome) * [For Zsh Users](#for-zsh-users) * [Optional: Installing `PIL` or `Pillow`](#optional-installing-pil-or-pillow) * [Supported Python Versions](#supported-python-versions) * [Supported Platforms](#supported-platforms) * [Windows Support](#windows-support) * [Developer Installation](#developer-installation) * [Continuous Integration](#continuous-integration) * [Unit Tests and Code Coverage](#unit-tests-and-code-coverage) * [Documentation](#documentation) ### Misc * [Contributing](#contributing) * [Credits](#credits) * [Contact Info](#contact-info) * [License](#license) ## GitHub Integration Commands Syntax Usage: $ gh [param] [options] ## GitHub Integration Commands Listing ``` … ``` ## GitHub Integration Commands Reference: COMMANDS.md See the [GitHub Integration Commands Reference in COMMANDS.md](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md) for a **detailed discussion** of all GitHub integration commands, parameters, options, and examples. Check out the next section for a **quick reference**. ## GitHub Integration Commands Quick Reference ### Configuring `gitsome` To properly integrate with GitHub, you must first configure `gitsome`: $ gh configure For GitHub Enterprise users, run with the `-e/--enterprise` flag: $ gh configure -e ### Listing Feeds #### Listing Your News Feed $ gh feed #### Listing A User's Activity Feed View your activity feed or another user's activity feed, optionally through a pager with `-p/--pager`. The [pager option](#option-view-in-a-pager) is available for many commands. $ gh feed donnemartin -p #### Listing A Repo's Activity Feed $ gh feed donnemartin/gitsome -p ### Listing Notifications $ gh notifications ### Listing Pull Requests View all pull requests for your repos: $ gh pull-requests ### Filtering Issues View all open issues where you have been mentioned: $ gh issues --issue_state open --issue_filter mentioned View all issues, filtering for only those assigned to you, regardless of state (open, closed): $ gh issues --issue_state all --issue_filter assigned For more information about the filter and state qualifiers, visit the [`gh issues`](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md#gh-issues) reference in [COMMANDS.md](https://github.com/donnemartin/gitsome/blob/master/COMMANDS.md). ### Filtering Starred Repos $ gh starred "repo filter" ### Searching Issues and Repos #### Searching Issues Search issues that have the most +1s: $ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p Search issues that have the most comments: $ gh search-issues "is:open is:issue sort:comments-desc" -p Search issues with the "help wanted" tag: $ gh search-issues "is:open is:issue label:\"help wanted\"" -p Search issues that have your user name tagged **@donnemartin**: $ gh search-issues "is:issue donnemartin is:open" -p Search all your open private issues: $ gh search-issues "is:open is:issue is:private" -p For more information about the query qualifiers, visit the [searching issues reference](https://help.github.com/articles/searching-issues/). #### Searching Repos Search all Python repos created on or after 2015, with >= 1000 stars: $ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p For more information about the query qualifiers, visit the [searching repos reference](https://help.github.com/articles/searching-repositories/). ### Listing Trending Repos and Devs View trending repos: $ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser] View trending devs (devs are currently only supported in browser): $ gh trending [language] --devs --browser ### Viewing Content #### The `view` command View the previously listed notifications, pull requests, issues, repos, users etc, with HTML nicely formatted for your terminal, or optionally in your browser: $ gh view [#] [-b/--browser] #### The `issue` command View an issue: $ gh issue donnemartin/saws/1 #### The `pull-request` command View a pull request: $ gh pull-request donnemartin/awesome-aws/2 ### Setting Up `.gitignore` List all available `.gitignore` templates: $ gh gitignore-t
No open issues yet, or sync has not completed.