Официальная интеграция с GitHub и GitHub Enterprise.
gitsome
?Хотя стандартная командная строка Git является отличным инструментом для управления вашими репозиториями на базе Git, может быть сложно запомнить использование :
Командная строка Git не интегрируется с GitHub , что заставляет вас переключаться между командной строкой и браузером.
gitsome
— расширенный интерфейс командной строки Git/GitHub с автозаполнением Цель gitsome
— усовершенствовать ваш стандартный интерфейс git/shell, сосредоточив внимание на:
Не все рабочие процессы GitHub хорошо работают в терминале; gitsome
попытки нацелиться на тех, кто это делает.
gitsome
включает 29 интегрированных команд GitHub, которые работают со ВСЕМИ оболочками:
$ gh <command> [param] [options]
Запускайте команды gh
вместе с командами Git-Extras и Hub, чтобы разблокировать еще больше интеграций с GitHub!
Вы можете запустить дополнительную оболочку:
$ gitsome
чтобы включить автозаполнение и интерактивную справку для следующего:
gitsome
автоматически заполняет следующее:
Чтобы включить дополнительные автозаполнения, ознакомьтесь с разделом «Включение дополнений Bash».
gitsome
поддерживает автопредложения в стиле Fish. Используйте клавишу right arrow
чтобы завершить предложение.
gitsome
работает на платформе xonsh
, которая поддерживает REPL Python.
Запускайте команды Python вместе с командами оболочки:
Дополнительные возможности xonsh
можно найти в xonsh tutorial
.
gitsome
отслеживает вводимые вами команды и сохраняет их в ~/.xonsh_history.json
. Используйте клавиши со стрелками вверх и вниз для просмотра истории команд.
Вы можете управлять цветами ansi, используемыми для выделения, обновив файл ~/.gitsomeconfig
.
Варианты цвета включают в себя:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
Для отсутствия цвета установите значения None
. на некоторых терминалах white
может выглядеть как светло-серый.
gitsome
доступен для Mac, Linux, Unix, Windows и Docker.
Не все рабочие процессы GitHub хорошо работают в терминале;
gitsome
попытки нацелиться на тех, кто это делает.
gitsome
только начинается. Не стесняйтесь внести свой вклад!
gh configure
gh create-comment
gh create-issue
gh create-repo
gh emails
gh emojis
gh feed
gh followers
gh following
gh gitignore-template
gh gitignore-templates
gh issue
gh issues
gh license
gh licenses
gh me
gh notifications
gh octo
gh pull-request
gh pull-requests
gh rate-limit
gh repo
gh repos
gh search-issues
gh search-repos
gh starred
gh trending
gh user
gh view
gh configure
gh
Tab за пределами gitsome
PIL
или Pillow
Использование:
$ gh <command> [param] [options]
configure Configure gitsome.
create-comment Create a comment on the given issue.
create-issue Create an issue.
create-repo Create a repo.
emails List all the user's registered emails.
emojis List all GitHub supported emojis.
feed List all activity for the given user or repo.
followers List all followers and the total follower count.
following List all followed users and the total followed count.
gitignore-template Output the gitignore template for the given language.
gitignore-templates Output all supported gitignore templates.
issue Output detailed information about the given issue.
issues List all issues matching the filter.
license Output the license template for the given license.
licenses Output all supported license templates.
me List information about the logged in user.
notifications List all notifications.
octo Output an Easter egg or the given message from Octocat.
pull-request Output detailed information about the given pull request.
pull-requests List all pull requests.
rate-limit Output the rate limit. Not available for Enterprise.
repo Output detailed information about the given filter.
repos List all repos matching the given filter.
search-issues Search for all issues matching the given query.
search-repos Search for all repos matching the given query.
starred Output starred repos.
trending List trending repos for the given language.
user List information about the given user.
view View the given index in the terminal or a browser.
См. Справочник по командам интеграции GitHub в COMMANDS.md для подробного обсуждения всех команд, параметров, опций и примеров интеграции GitHub.
Ознакомьтесь со следующим разделом для получения краткой информации .
gitsome
Для правильной интеграции с GitHub необходимо сначала настроить gitsome
:
$ gh configure
Для пользователей GitHub Enterprise запустите с флагом -e/--enterprise
:
$ gh configure -e
$ gh feed
Просмотрите свою ленту активности или ленту активности другого пользователя, при необходимости через пейджер с -p/--pager
. Опция пейджера доступна для многих команд.
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
Просмотрите все запросы на включение для ваших репозиториев:
$ gh pull-requests
Просмотрите все открытые вопросы, в которых вы были упомянуты:
$ gh issues --issue_state open --issue_filter mentioned
Просматривайте все задачи, фильтруя только назначенные вам, независимо от состояния (открытые, закрытые):
$ gh issues --issue_state all --issue_filter assigned
Для получения дополнительной информации о фильтре и квалификаторах состояния посетите справку gh issues
в COMMANDS.md.
$ gh starred "repo filter"
Поиск задач, которые получили наибольшее количество +1:
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
Поиск задач, которые имеют наибольшее количество комментариев:
$ gh search-issues "is:open is:issue sort:comments-desc" -p
Поиск проблем по тегу «нужна помощь»:
$ gh search-issues "is:open is:issue label:"help wanted"" -p
Поиск задач, в которых указано ваше имя пользователя @donnemartin :
$ gh search-issues "is:issue donnemartin is:open" -p
Найдите все открытые личные проблемы:
$ gh search-issues "is:open is:issue is:private" -p
Дополнительные сведения о квалификаторах запроса см. в справочнике по проблемам поиска.
Найдите все репозитории Python, созданные после 2015 года, с >= 1000 звезд:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
Дополнительные сведения о квалификаторах запроса см. в справочнике по репозиториям поиска.
Посмотреть популярные репозитории:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
Просмотр популярных разработчиков (разработчики в настоящее время поддерживаются только в браузере):
$ gh trending [language] --devs --browser
view
Просмотрите ранее перечисленные уведомления, запросы на включение, проблемы, репозитории, пользователей и т. д. с помощью HTML, красиво отформатированного для вашего терминала или, при необходимости, в вашем браузере:
$ gh view [#] [-b/--browser]
issue
Посмотреть проблему:
$ gh issue donnemartin/saws/1
pull-request
Посмотреть запрос на вытягивание:
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
Список всех доступных шаблонов .gitignore
:
$ gh gitignore-templates
Настройте свой .gitignore
:
$ gh gitignore-template Python > .gitignore
LICENSE
Перечислите все доступные шаблоны LICENSE
:
$ gh licenses
Настройте свою или LICENSE
:
$ gh license MIT > LICENSE
Позвоните Octocat, чтобы произнести заданное сообщение или пасхальное яйцо:
$ gh octo [say]
$ gh user octocat
Просмотрите свой профиль с помощью команды gh user [YOUR_USER_ID]
или с помощью следующего ярлыка:
$ gh me
Создать комментарий:
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
Создайте задачу:
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
Создайте репо:
$ gh create-repo gitsome
Многие команды gh
поддерживают опцию -p/--pager
, которая отображает результаты на пейджере, если он доступен.
Использование:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
Многие команды gh
поддерживают опцию -b/--browser
, которая отображает результаты в браузере по умолчанию, а не в терминале.
Использование:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
См. COMMANDS.md для получения подробного списка всех команд интеграции GitHub, параметров, опций и примеров.
Возникли проблемы с запоминанием этих команд? Ознакомьтесь с удобным автозаполнением с интерактивной подсказкой, которая поможет вам выполнить каждую команду.
Обратите внимание: вы можете комбинировать gitsome
с другими утилитами, такими как Git-Extras.
gitsome
размещен на PyPI. Следующая команда установит gitsome
:
$ pip3 install gitsome
Вы также можете установить последнюю версию gitsome
из исходного кода GitHub, которая может содержать изменения, еще не отправленные в PyPI:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
Если вы не устанавливаете virtualenv
, вам может потребоваться запустить sudo
:
$ sudo pip3 install gitsome
pip3
В зависимости от ваших настроек вы также можете запустить pip3
с -H flag
:
$ sudo -H pip3 install gitsome
Для большинства пользователей Linux pip3
может быть установлен в вашей системе с помощью пакета python3-pip
.
Например, пользователи Ubuntu могут запустить:
$ sudo apt-get install python3-pip
Подробнее смотрите в этом билете.
Вы можете установить пакеты Python в virtualenv
, чтобы избежать потенциальных проблем с зависимостями или разрешениями.
Если вы являетесь пользователем Windows или хотите получить более подробную информацию о virtualenv
, ознакомьтесь с этим руководством.
Установите virtualenv
и virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
Создайте virtualenv
gitsome
и установите gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
Если установка pip
не работает, возможно, вы используете Python 2 по умолчанию. Проверьте, какую версию Python вы используете:
$ python --version
Если приведенный выше вызов приводит к Python 2, найдите путь к Python 3:
$ which python3 # Python 3 path for mkvirtualenv's --python option
Установите Python 3, если необходимо. Установите версию Python при вызове mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
Если вы хотите снова активировать gitsome
virtualenv
позже, запустите:
$ workon gitsome
Чтобы деактивировать gitsome
virtualenv
, запустите:
$ deactivate
Вы можете запустить gitsome в контейнере Docker, чтобы избежать локальной установки Python и pip3
. Чтобы установить Docker, ознакомьтесь с официальной документацией Docker.
После установки докера вы можете запустить gitsome:
$ docker run -ti --rm mariolet/gitsome
Вы можете использовать тома Docker, чтобы предоставить gitsome доступ к вашему рабочему каталогу, вашим локальным .gitsomeconfig и .gitconfig:
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
Если вы часто выполняете эту команду, вам, вероятно, захочется определить псевдоним:
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
Чтобы собрать образ Docker из исходников:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
оболочку После установки запустите дополнительный автозаполнитель gitsome
с интерактивной справкой:
$ gitsome
Запуск дополнительной оболочки gitsome
предоставит вам автозаполнение, интерактивную справку, предложения в стиле рыбы, REPL Python и т. д.
gh
Запустите команды, интегрированные в GitHub:
$ gh <command> [param] [options]
Примечание. Для выполнения команд gh
не требуется запуск оболочки gitsome
. После установки gitsome
вы можете запускать команды gh
из любой оболочки.
gh configure
Для правильной интеграции с GitHub необходимо правильно настроить gitsome
:
$ gh configure
Запустите с флагом -e/--enterprise
:
$ gh configure -e
Более подробную информацию можно найти в разделе настройки gh.
По умолчанию gitsome
просматривает следующие места, чтобы включить завершение bash.
Чтобы добавить дополнительные завершения bash, обновите файл ~/.xonshrc
указав расположение ваших завершений bash.
Если ~/.xonshrc
не существует, создайте его:
$ touch ~/.xonshrc
Например, если в /usr/local/etc/my_bash_completion.d/completion.bash
найдены дополнительные дополнения, добавьте следующую строку в ~/.xonshrc
:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
Вам нужно будет перезапустить gitsome
, чтобы изменения вступили в силу.
gh
Tab за пределами gitsome
Вы можете запускать команды gh
вне средства завершения оболочки gitsome
. Чтобы включить завершение табуляции gh
для этого рабочего процесса, скопируйте файл gh_complete.sh
локально.
Сообщите bash, что завершение доступно для команды gh
в текущем сеансе:
$ source /path/to/gh_complete.sh
Чтобы включить завершение табуляции для всех сеансов терминала, добавьте в файл bashrc
следующее:
source /path/to/gh_complete.sh
Перезагрузите ваш bashrc
:
$ source ~/.bashrc
Кончик: .
— это короткая форма source
, поэтому вместо этого вы можете запустить это:
$ . ~/.bashrc
zsh
включает модуль, совместимый с дополнениями bash.
Загрузите файл gh_complete.sh
, как указано выше, и добавьте следующее в свой .zshrc
:
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
Перезагрузите zshrc
:
$ source ~/.zshrc
PIL
или Pillow
Для отображения аватара для пользовательских команд gh me
и gh user
потребуется установка дополнительной зависимости PIL
или Pillow
.
Windows* и Mac:
$ pip3 install Pillow
*Информацию об ограничениях на аватар см. в разделе «Поддержка Windows».
Пользователи Ubuntu, ознакомьтесь с этими инструкциями на Askubuntu.
gitsome
работает на платформе xonsh
, которая в настоящее время не поддерживает Python 2.x, как описано в этом билете.
gitsome
был протестирован в Windows 10 с помощью cmd
и cmder
.
Хотя вы можете использовать стандартную командную строку Windows, вам, вероятно, будет удобнее работать с cmder или conemu.
Для команд gh user
и gh me
всегда будет включен флаг -t/--text_avatar
, поскольку img2txt
не поддерживает аватар ansi в Windows.
В Windows файл .gitsomeconfig
можно найти в %userprofile%
. Например:
C:Usersdmartin.gitsomeconfig
Если вы хотите внести свой вклад в gitsome
, выполните следующие команды:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ pip3 install -e .
$ pip3 install -r requirements-dev.txt
$ gitsome
$ gh <command> [param] [options]
pip3
Если при установке вы получаете сообщение об ошибке, сообщающее, что вам нужен Python 3.4+, это может быть связано с тем, что ваша команда pip
настроена для более старой версии Python. Чтобы решить эту проблему, рекомендуется установить pip3
:
$ sudo apt-get install python3-pip
Подробнее смотрите в этом билете.
Подробности непрерывной интеграции доступны на Travis CI.
Запустите модульные тесты в активной среде Python:
$ python tests/run_tests.py
Запустите модульные тесты с tox в нескольких средах Python:
$ tox
Документация по исходному коду скоро будет доступна на Readthedocs.org. Проверьте исходную документацию.
Для создания документов выполните следующее:
$ scripts/update_docs.sh
Вклады приветствуются!
Ознакомьтесь с Руководством по участию, чтобы узнать, как:
Не стесняйтесь обращаться ко мне, чтобы обсудить любые проблемы, вопросы или комментарии.
Мою контактную информацию можно найти на моей странице GitHub.
Я предоставляю вам код и ресурсы из этого репозитория под лицензией с открытым исходным кодом. Поскольку это мой личный репозиторий, лицензия, которую вы получаете на мой код и ресурсы, принадлежит мне, а не моему работодателю (Facebook).
Copyright 2016 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.