Une intégration officielle pour GitHub et GitHub Enterprise.
gitsome
?Bien que la ligne de commande Git standard soit un excellent outil pour gérer vos dépôts Git, il peut être difficile de se souvenir de l'utilisation de :
La ligne de commande Git ne s'intègre pas à GitHub , vous obligeant à basculer entre la ligne de commande et le navigateur.
gitsome
- Une CLI Git/GitHub suralimentée avec saisie semi-automatique gitsome
vise à dynamiser votre interface git/shell standard en se concentrant sur :
Tous les workflows GitHub ne fonctionnent pas bien dans un terminal ; des tentatives gitsome
pour cibler ceux qui le font.
gitsome
comprend 29 commandes intégrées GitHub qui fonctionnent avec TOUS les shells :
$ gh <command> [param] [options]
Exécutez les commandes gh
avec les commandes Git-Extras et hub pour débloquer encore plus d'intégrations GitHub !
Vous pouvez exécuter le shell facultatif :
$ gitsome
pour activer la saisie semi-automatique et l'aide interactive pour les éléments suivants :
gitsome
complète automatiquement ce qui suit :
Pour activer des complétions automatiques supplémentaires, consultez la section Activation des complétions Bash.
gitsome
prend en charge les suggestions automatiques de style Fish. Utilisez la touche right arrow
pour compléter une suggestion.
gitsome
est alimenté par xonsh
, qui prend en charge un REPL Python.
Exécutez des commandes Python parallèlement aux commandes shell :
Des fonctionnalités xonsh
supplémentaires peuvent être trouvées dans le xonsh tutorial
.
gitsome
garde une trace des commandes que vous entrez et les stocke dans ~/.xonsh_history.json
. Utilisez les touches fléchées haut et bas pour parcourir l’historique des commandes.
Vous pouvez contrôler les couleurs ansi utilisées pour la surbrillance en mettant à jour votre fichier ~/.gitsomeconfig
.
Les options de couleurs incluent :
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
Pour aucune couleur, définissez la ou les valeurs sur None
. white
peut apparaître en gris clair sur certains terminaux.
gitsome
est disponible pour Mac, Linux, Unix, Windows et Docker.
Tous les workflows GitHub ne fonctionnent pas bien dans un terminal ; des tentatives
gitsome
pour cibler ceux qui le font.
gitsome
ne fait que commencer. N'hésitez pas à contribuer !
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
en dehors de gitsome
PIL
ou Pillow
Usage:
$ 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.
Consultez la référence des commandes d’intégration GitHub dans COMMANDS.md pour une discussion détaillée de toutes les commandes, paramètres, options et exemples d’intégration GitHub.
Consultez la section suivante pour une référence rapide .
gitsome
Pour bien intégrer GitHub, vous devez d'abord configurer gitsome
:
$ gh configure
Pour les utilisateurs de GitHub Enterprise, exécutez avec l'indicateur -e/--enterprise
:
$ gh configure -e
$ gh feed
Affichez votre flux d'activité ou le flux d'activité d'un autre utilisateur, éventuellement via un téléavertisseur avec -p/--pager
. L'option pager est disponible pour de nombreuses commandes.
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
Affichez toutes les demandes d'extraction pour vos dépôts :
$ gh pull-requests
Affichez tous les problèmes ouverts pour lesquels vous avez été mentionné :
$ gh issues --issue_state open --issue_filter mentioned
Affichez tous les problèmes, en filtrant uniquement ceux qui vous sont attribués, quel que soit leur état (ouvert, fermé) :
$ gh issues --issue_state all --issue_filter assigned
Pour plus d’informations sur les qualificatifs de filtre et d’état, visitez la référence gh issues
dans COMMANDS.md.
$ gh starred "repo filter"
Rechercher les problèmes qui ont le plus de +1 :
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
Rechercher les problèmes qui ont le plus de commentaires :
$ gh search-issues "is:open is:issue sort:comments-desc" -p
Problèmes de recherche avec la balise « aide recherchée » :
$ gh search-issues "is:open is:issue label:"help wanted"" -p
Recherchez les problèmes pour lesquels votre nom d'utilisateur est marqué @donnemartin :
$ gh search-issues "is:issue donnemartin is:open" -p
Recherchez tous vos problèmes privés ouverts :
$ gh search-issues "is:open is:issue is:private" -p
Pour plus d’informations sur les qualificateurs de requête, consultez la référence sur les problèmes de recherche.
Recherchez tous les dépôts Python créés à partir de 2015, avec >= 1 000 étoiles :
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
Pour plus d’informations sur les qualificateurs de requête, visitez la référence de recherche sur les dépôts.
Afficher les dépôts tendances :
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
Afficher les développeurs tendances (les développeurs ne sont actuellement pris en charge que dans le navigateur) :
$ gh trending [language] --devs --browser
view
Affichez les notifications, demandes d'extraction, problèmes, dépôts, utilisateurs, etc. répertoriés précédemment, avec du HTML bien formaté pour votre terminal, ou éventuellement dans votre navigateur :
$ gh view [#] [-b/--browser]
issue
Afficher un problème :
$ gh issue donnemartin/saws/1
pull-request
Afficher une pull request :
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
Répertoriez tous les modèles .gitignore
disponibles :
$ gh gitignore-templates
Configurez votre .gitignore
:
$ gh gitignore-template Python > .gitignore
LICENSE
Répertoriez tous les modèles LICENSE
disponibles :
$ gh licenses
Configurez votre ou LICENSE
:
$ gh license MIT > LICENSE
Faites appel à Octocat pour prononcer le message donné ou un œuf de Pâques :
$ gh octo [say]
$ gh user octocat
Affichez votre profil avec la commande gh user [YOUR_USER_ID]
ou avec le raccourci suivant :
$ gh me
Créez un commentaire :
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
Créez un problème :
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
Créez un dépôt :
$ gh create-repo gitsome
De nombreuses commandes gh
prennent en charge une option -p/--pager
qui affiche les résultats dans un pager, le cas échéant.
Usage:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
De nombreuses commandes gh
prennent en charge une option -b/--browser
qui affiche les résultats dans votre navigateur par défaut au lieu de votre terminal.
Usage:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
Consultez COMMANDS.md pour une liste détaillée de toutes les commandes, paramètres, options et exemples d’intégration GitHub.
Vous avez du mal à vous souvenir de ces commandes ? Consultez le compléteur automatique pratique avec une aide interactive pour vous guider à travers chaque commande.
Notez que vous pouvez combiner gitsome
avec d'autres utilitaires tels que Git-Extras.
gitsome
est hébergé sur PyPI. La commande suivante installera gitsome
:
$ pip3 install gitsome
Vous pouvez également installer le dernier gitsome
à partir de la source GitHub qui peut contenir des modifications non encore transmises à PyPI :
$ pip3 install git+https://github.com/donnemartin/gitsome.git
Si vous n'installez pas dans un virtualenv
, vous devrez peut-être exécuter avec sudo
:
$ sudo pip3 install gitsome
pip3
En fonction de votre configuration, vous souhaiterez peut-être également exécuter pip3
avec l' -H flag
:
$ sudo -H pip3 install gitsome
Pour la plupart des utilisateurs Linux, pip3
peut être installé sur votre système à l'aide du package python3-pip
.
Par exemple, les utilisateurs d'Ubuntu peuvent exécuter :
$ sudo apt-get install python3-pip
Voir ce billet pour plus de détails.
Vous pouvez installer des packages Python dans un virtualenv
pour éviter des problèmes potentiels avec les dépendances ou les autorisations.
Si vous êtes un utilisateur Windows ou si vous souhaitez plus de détails sur virtualenv
, consultez ce guide.
Installez virtualenv
et virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
Créez un gitsome
virtualenv
et installez gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
Si l'installation pip
ne fonctionne pas, vous exécutez peut-être Python 2 par défaut. Vérifiez quelle version de Python vous utilisez :
$ python --version
Si l'appel ci-dessus aboutit à Python 2, recherchez le chemin pour Python 3 :
$ which python3 # Python 3 path for mkvirtualenv's --python option
Installez Python 3 si nécessaire. Définissez la version de Python lors de l'appel de mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
Si vous souhaitez réactiver gitsome
virtualenv
plus tard, exécutez :
$ workon gitsome
Pour désactiver le gitsome
virtualenv
, exécutez :
$ deactivate
Vous pouvez exécuter gitsome dans un conteneur Docker pour éviter d'installer Python et pip3
localement. Pour installer Docker, consultez la documentation officielle de Docker.
Une fois Docker installé, vous pouvez exécuter gitsome :
$ docker run -ti --rm mariolet/gitsome
Vous pouvez utiliser les volumes Docker pour permettre à gitsome d'accéder à votre répertoire de travail, à vos .gitsomeconfig et .gitconfig locaux :
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
Si vous exécutez souvent cette commande, vous souhaiterez probablement définir un alias :
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
Pour créer l'image Docker à partir des sources :
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
Shell Une fois installé, exécutez le complément automatique gitsome
facultatif avec une aide interactive :
$ gitsome
L'exécution du shell gitsome
facultatif vous fournira une saisie semi-automatique, une aide interactive, des suggestions de style poisson, un REPL Python, etc.
gh
Exécutez les commandes intégrées à GitHub :
$ gh <command> [param] [options]
Remarque : L'exécution du shell gitsome
n'est pas nécessaire pour exécuter les commandes gh
. Après avoir installé gitsome
vous pouvez exécuter des commandes gh
à partir de n'importe quel shell.
gh configure
Pour s'intégrer correctement à GitHub, gitsome
doit être correctement configuré :
$ gh configure
Exécutez avec l'indicateur -e/--enterprise
:
$ gh configure -e
Voir plus de détails dans la section gh configure.
Par défaut, gitsome
examine les emplacements suivants pour activer les complétions bash.
Pour ajouter des complétions bash supplémentaires, mettez à jour le fichier ~/.xonshrc
avec l'emplacement de vos complétions bash.
Si ~/.xonshrc
n'existe pas, créez-le :
$ touch ~/.xonshrc
Par exemple, si des complétions supplémentaires sont trouvées dans /usr/local/etc/my_bash_completion.d/completion.bash
, ajoutez la ligne suivante dans ~/.xonshrc
:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
Vous devrez redémarrer gitsome
pour que les modifications prennent effet.
gh
en dehors de gitsome
Vous pouvez exécuter des commandes gh
en dehors du programme de complétion du shell gitsome
. Pour activer les complétions d'onglets gh
pour ce flux de travail, copiez le fichier gh_complete.sh
localement.
Faites savoir à bash que la complétion est disponible pour la commande gh
dans votre session en cours :
$ source /path/to/gh_complete.sh
Pour activer la saisie semi-automatique pour toutes les sessions de terminal, ajoutez ce qui suit à votre fichier bashrc
:
source /path/to/gh_complete.sh
Rechargez votre bashrc
:
$ source ~/.bashrc
Conseil: .
est la forme courte de source
, vous pouvez donc exécuter ceci à la place :
$ . ~/.bashrc
zsh
inclut un module compatible avec les complétions bash.
Téléchargez le fichier gh_complete.sh
comme ci-dessus et ajoutez ce qui suit à votre .zshrc
:
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
Rechargez votre zshrc
:
$ source ~/.zshrc
PIL
ou Pillow
L'affichage de l'avatar pour les commandes gh user
gh me
et gh nécessitera l'installation de la dépendance facultative PIL
ou Pillow
.
Windows* et Mac :
$ pip3 install Pillow
*Voir la section Assistance Windows pour connaître les limitations relatives à l'avatar.
Utilisateurs d'Ubuntu, consultez ces instructions sur Askubuntu
gitsome
est alimenté par xonsh
qui ne prend actuellement pas en charge Python 2.x, comme indiqué dans ce ticket.
gitsome
a été testé sur Windows 10 avec cmd
et cmder
.
Bien que vous puissiez utiliser l'invite de commande Windows standard, vous aurez probablement une meilleure expérience avec cmder ou conemu.
Les commandes gh user
et gh me
auront toujours l'indicateur -t/--text_avatar
activé, car img2txt
ne prend pas en charge l'avatar ansi sous Windows.
Sous Windows, le fichier .gitsomeconfig
se trouve dans %userprofile%
. Par exemple:
C:Usersdmartin.gitsomeconfig
Si vous souhaitez contribuer à gitsome
, exécutez les commandes suivantes :
$ 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
Si vous obtenez une erreur lors de l'installation indiquant que vous avez besoin de Python 3.4+, cela peut être dû au fait que votre commande pip
est configurée pour une ancienne version de Python. Pour résoudre ce problème, il est recommandé d'installer pip3
:
$ sudo apt-get install python3-pip
Voir ce billet pour plus de détails.
Les détails de l'intégration continue sont disponibles sur Travis CI.
Exécutez des tests unitaires dans votre environnement Python actif :
$ python tests/run_tests.py
Exécutez des tests unitaires avec tox sur plusieurs environnements Python :
$ tox
La documentation du code source sera bientôt disponible sur Readthedocs.org. Consultez les docstrings sources.
Exécutez la commande suivante pour créer les documents :
$ scripts/update_docs.sh
Les contributions sont les bienvenues !
Consultez les directives de contribution pour plus de détails sur la façon de :
N'hésitez pas à me contacter pour discuter de tout problème, question ou commentaire.
Mes coordonnées se trouvent sur ma page GitHub.
Je vous fournis le code et les ressources de ce référentiel sous une licence open source. Puisqu'il s'agit de mon référentiel personnel, la licence que vous recevez pour mon code et mes ressources vient de moi et non de mon employeur (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.