Una integración oficial para GitHub y GitHub Enterprise.
gitsome
?Aunque la línea de comandos estándar de Git es una gran herramienta para administrar sus repositorios basados en Git, puede resultar difícil recordar el uso de:
La línea de comando de Git no se integra con GitHub , lo que te obliga a alternar entre la línea de comando y el navegador.
gitsome
: una CLI de Git/GitHub sobrealimentada con autocompletar gitsome
tiene como objetivo potenciar su interfaz estándar git/shell centrándose en:
No todos los flujos de trabajo de GitHub funcionan bien en una terminal; gitsome
intentos de apuntar a aquellos que lo hacen.
gitsome
incluye 29 comandos integrados de GitHub que funcionan con TODOS los shells:
$ gh <command> [param] [options]
Ejecute comandos gh
junto con Git-Extras y comandos hub para desbloquear aún más integraciones de GitHub.
Puede ejecutar el shell opcional :
$ gitsome
para habilitar el autocompletado y la ayuda interactiva para lo siguiente:
gitsome
autocompleta lo siguiente:
Para habilitar autocompletados adicionales, consulte la sección Habilitación de finalizaciones de Bash.
gitsome
admite sugerencias automáticas estilo Fish. Utilice la tecla right arrow
para completar una sugerencia.
gitsome
funciona con xonsh
, que admite un REPL de Python.
Ejecute comandos de Python junto con los comandos de Shell:
Se pueden encontrar funciones adicionales xonsh
en el xonsh tutorial
.
gitsome
realiza un seguimiento de los comandos que ingresa y los almacena en ~/.xonsh_history.json
. Utilice las teclas de flecha hacia arriba y hacia abajo para recorrer el historial de comandos.
Puede controlar los colores ansi utilizados para resaltar actualizando su archivo ~/.gitsomeconfig
.
Las opciones de color incluyen:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
Para ningún color, establezca los valores en None
. white
puede aparecer como gris claro en algunos terminales.
gitsome
está disponible para Mac, Linux, Unix, Windows y Docker.
No todos los flujos de trabajo de GitHub funcionan bien en una terminal;
gitsome
intentos de apuntar a aquellos que lo hacen.
gitsome
apenas está comenzando. ¡Siéntete libre de contribuir!
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
fuera de gitsome
PIL
o Pillow
Uso:
$ 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.
Consulte la Referencia de comandos de integración de GitHub en COMMANDS.md para obtener una discusión detallada de todos los comandos, parámetros, opciones y ejemplos de integración de GitHub.
Consulte la siguiente sección para obtener una referencia rápida .
gitsome
Para integrarse correctamente con GitHub, primero debes configurar gitsome
:
$ gh configure
Para usuarios de GitHub Enterprise, ejecute con el indicador -e/--enterprise
:
$ gh configure -e
$ gh feed
Vea su feed de actividad o el feed de actividad de otro usuario, opcionalmente a través de un buscapersonas con -p/--pager
. La opción de buscapersonas está disponible para muchos comandos.
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
Vea todas las solicitudes de extracción para sus repositorios:
$ gh pull-requests
Vea todos los problemas abiertos en los que se le ha mencionado:
$ gh issues --issue_state open --issue_filter mentioned
Vea todos los problemas, filtrando solo aquellos que se le hayan asignado, independientemente del estado (abierto, cerrado):
$ gh issues --issue_state all --issue_filter assigned
Para obtener más información sobre el filtro y los calificadores de estado, visite la referencia de gh issues
en COMMANDS.md.
$ gh starred "repo filter"
Buscar problemas que tengan más +1:
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
Busque los problemas que tengan más comentarios:
$ gh search-issues "is:open is:issue sort:comments-desc" -p
Problemas de búsqueda con la etiqueta "se busca ayuda":
$ gh search-issues "is:open is:issue label:"help wanted"" -p
Buscar problemas que tengan su nombre de usuario etiquetado como @donnemartin :
$ gh search-issues "is:issue donnemartin is:open" -p
Busque todos sus problemas privados abiertos:
$ gh search-issues "is:open is:issue is:private" -p
Para obtener más información sobre los calificadores de consulta, visite la referencia de problemas de búsqueda.
Busque todos los repositorios de Python creados a partir de 2015, con >= 1000 estrellas:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
Para obtener más información sobre los calificadores de consulta, visite la referencia de repositorios de búsqueda.
Ver repositorios de tendencias:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
Vea los desarrolladores más populares (actualmente, los desarrolladores solo son compatibles con el navegador):
$ gh trending [language] --devs --browser
view
Vea las notificaciones, solicitudes de extracción, problemas, repositorios, usuarios, etc. enumerados anteriormente, con HTML bien formateado para su terminal u, opcionalmente, en su navegador:
$ gh view [#] [-b/--browser]
issue
Ver un problema:
$ gh issue donnemartin/saws/1
pull-request
Ver una solicitud de extracción:
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
Enumere todas las plantillas .gitignore
disponibles:
$ gh gitignore-templates
Configura tu .gitignore
:
$ gh gitignore-template Python > .gitignore
LICENSE
Enumere todas las plantillas LICENSE
disponibles:
$ gh licenses
Configure su o LICENSE
:
$ gh license MIT > LICENSE
Llama a Octocat para decir el mensaje dado o un huevo de Pascua:
$ gh octo [say]
$ gh user octocat
Vea su perfil con el comando gh user [YOUR_USER_ID]
o con el siguiente acceso directo:
$ gh me
Crea un comentario:
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
Crear un problema:
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
Crear un repositorio:
$ gh create-repo gitsome
Muchos comandos gh
admiten la opción -p/--pager
que muestra los resultados en un buscapersonas, cuando esté disponible.
Uso:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
Muchos comandos gh
admiten una opción -b/--browser
que muestra los resultados en su navegador predeterminado en lugar de en su terminal.
Uso:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
Consulte COMMANDS.md para obtener una lista detallada de todos los comandos, parámetros, opciones y ejemplos de integración de GitHub.
¿Tiene problemas para recordar estos comandos? Consulte el práctico autocompletado con ayuda interactiva que le guiará a través de cada comando.
Tenga en cuenta que puede combinar gitsome
con otras utilidades como Git-Extras.
gitsome
está alojado en PyPI. El siguiente comando instalará gitsome
:
$ pip3 install gitsome
También puede instalar el último gitsome
desde la fuente de GitHub que puede contener cambios que aún no se han enviado a PyPI:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
Si no está instalando en un virtualenv
, es posible que necesite ejecutar con sudo
:
$ sudo pip3 install gitsome
pip3
Dependiendo de su configuración, es posible que también desee ejecutar pip3
con el -H flag
:
$ sudo -H pip3 install gitsome
Para la mayoría de los usuarios de Linux, pip3
se puede instalar en su sistema utilizando el paquete python3-pip
.
Por ejemplo, los usuarios de Ubuntu pueden ejecutar:
$ sudo apt-get install python3-pip
Vea este boleto para más detalles.
Puede instalar paquetes de Python en un virtualenv
para evitar posibles problemas con dependencias o permisos.
Si es usuario de Windows o si desea obtener más detalles sobre virtualenv
, consulte esta guía.
Instale virtualenv
y virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
Crea un gitsome
virtualenv
e instala gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
Si la instalación pip
no funciona, es posible que esté ejecutando Python 2 de forma predeterminada. Verifique qué versión de Python está ejecutando:
$ python --version
Si la llamada anterior da como resultado Python 2, busque la ruta para Python 3:
$ which python3 # Python 3 path for mkvirtualenv's --python option
Instale Python 3 si es necesario. Configure la versión de Python al llamar mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
Si desea activar gitsome
virtualenv
nuevamente más tarde, ejecute:
$ workon gitsome
Para desactivar gitsome
virtualenv
, ejecute:
$ deactivate
Puedes ejecutar gitsome en un contenedor Docker para evitar instalar Python y pip3
localmente. Para instalar Docker, consulte la documentación oficial de Docker.
Una vez que haya instalado Docker, puede ejecutar gitsome:
$ docker run -ti --rm mariolet/gitsome
Puede usar volúmenes de Docker para permitir que gitsome acceda a su directorio de trabajo, a su .gitsomeconfig y .gitconfig locales:
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
Si ejecuta este comando con frecuencia, probablemente desee definir un alias:
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
Para crear la imagen de Docker a partir de fuentes:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
Shell Una vez instalado, ejecute el autocompletado opcional gitsome
con ayuda interactiva:
$ gitsome
La ejecución del shell gitsome
opcional le proporcionará autocompletado, ayuda interactiva, sugerencias estilo pez, un REPL de Python, etc.
gh
Ejecute comandos integrados en GitHub:
$ gh <command> [param] [options]
Nota: No es necesario ejecutar el shell gitsome
para ejecutar los comandos gh
. Después de instalar gitsome
puedes ejecutar comandos gh
desde cualquier shell.
gh configure
Para integrarse correctamente con GitHub, gitsome
debe estar configurado correctamente:
$ gh configure
Ejecute con el indicador -e/--enterprise
:
$ gh configure -e
Ver más detalles en la sección de configuración de gh.
De forma predeterminada, gitsome
busca en las siguientes ubicaciones para habilitar la finalización de bash.
Para agregar completaciones de bash adicionales, actualice el archivo ~/.xonshrc
con la ubicación de sus completaciones de bash.
Si ~/.xonshrc
no existe, créelo:
$ touch ~/.xonshrc
Por ejemplo, si se encuentran terminaciones adicionales en /usr/local/etc/my_bash_completion.d/completion.bash
, agregue la siguiente línea en ~/.xonshrc
:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
Deberá reiniciar gitsome
para que los cambios surtan efecto.
gh
fuera de gitsome
Puede ejecutar comandos gh
fuera del completador de shell gitsome
. Para habilitar la finalización de pestañas de gh
para este flujo de trabajo, copie el archivo gh_complete.sh
localmente.
Informe a bash que la finalización está disponible para el comando gh
dentro de su sesión actual:
$ source /path/to/gh_complete.sh
Para habilitar la finalización de pestañas para todas las sesiones de terminal, agregue lo siguiente a su archivo bashrc
:
source /path/to/gh_complete.sh
Recarga tu bashrc
:
$ source ~/.bashrc
Consejo: .
es la forma abreviada de source
, por lo que puedes ejecutar esto en su lugar:
$ . ~/.bashrc
zsh
incluye un módulo que es compatible con las completaciones de bash.
Descargue el archivo gh_complete.sh
como se indica arriba y agregue lo siguiente a su .zshrc
:
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
Vuelva a cargar su zshrc
:
$ source ~/.zshrc
PIL
o Pillow
Para mostrar el avatar para los comandos gh user
gh me
y gh será necesario instalar la dependencia opcional PIL
o Pillow
.
Windows* y Mac:
$ pip3 install Pillow
*Consulta la sección de soporte de Windows para conocer las limitaciones del avatar.
Usuarios de Ubuntu, consulten estas instrucciones en Askubuntu
gitsome
funciona con xonsh
, que actualmente no es compatible con Python 2.x, como se explica en este ticket.
gitsome
ha sido probado en Windows 10 con cmd
y cmder
.
Aunque puede utilizar el símbolo del sistema estándar de Windows, probablemente tendrá una mejor experiencia con cmder o conemu.
Los comandos gh user
y gh me
siempre tendrán el indicador -t/--text_avatar
habilitado, ya que img2txt
no admite el avatar ansi en Windows.
En Windows, el archivo .gitsomeconfig
se puede encontrar en %userprofile%
. Por ejemplo:
C:Usersdmartin.gitsomeconfig
Si está interesado en contribuir con gitsome
, ejecute los siguientes comandos:
$ 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 recibe un error durante la instalación que dice que necesita Python 3.4+, podría deberse a que su comando pip
está configurado para una versión anterior de Python. Para solucionar este problema, se recomienda instalar pip3
:
$ sudo apt-get install python3-pip
Vea este boleto para más detalles.
Los detalles de la integración continua están disponibles en Travis CI.
Ejecute pruebas unitarias en su entorno Python activo:
$ python tests/run_tests.py
Ejecute pruebas unitarias con tox en múltiples entornos Python:
$ tox
La documentación del código fuente pronto estará disponible en Readthedocs.org. Consulte las cadenas de documentación fuente.
Ejecute lo siguiente para compilar los documentos:
$ scripts/update_docs.sh
¡Las contribuciones son bienvenidas!
Revise las Pautas de contribución para obtener detalles sobre cómo:
No dude en ponerse en contacto conmigo para discutir cualquier problema, pregunta o comentario.
Mi información de contacto se puede encontrar en mi página de GitHub.
Le proporciono código y recursos en este repositorio bajo una licencia de código abierto. Debido a que este es mi repositorio personal, la licencia que recibe para mi código y mis recursos es mía y no de mi empleador (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.