Uma integração oficial para GitHub e GitHub Enterprise.
gitsome
?Embora a linha de comando padrão do Git seja uma ótima ferramenta para gerenciar seus repositórios baseados em Git, pode ser difícil lembrar o uso de:
A linha de comando do Git não se integra ao GitHub , forçando você a alternar entre a linha de comando e o navegador.
gitsome
- Uma CLI Git/GitHub supercarregada com preenchimento automático gitsome
visa turbinar sua interface git/shell padrão, concentrando-se em:
Nem todos os fluxos de trabalho do GitHub funcionam bem em um terminal; gitsome
tentativas de atingir aqueles que o fazem.
gitsome
inclui 29 comandos integrados ao GitHub que funcionam com TODOS os shells:
$ gh <command> [param] [options]
Execute comandos gh
junto com Git-Extras e comandos hub para desbloquear ainda mais integrações com GitHub!
Você pode executar o shell opcional :
$ gitsome
para ativar o preenchimento automático e a ajuda interativa para o seguinte:
gitsome
preenche automaticamente o seguinte:
Para habilitar preenchimentos automáticos adicionais, verifique a seção Habilitando preenchimentos Bash.
gitsome
oferece suporte a sugestões automáticas no estilo Fish. Use a tecla right arrow
para completar uma sugestão.
gitsome
é desenvolvido com xonsh
, que oferece suporte a Python REPL.
Execute comandos Python junto com comandos shell:
Recursos adicionais xonsh
podem ser encontrados no xonsh tutorial
.
gitsome
monitora os comandos que você insere e os armazena em ~/.xonsh_history.json
. Use as teclas de seta para cima e para baixo para percorrer o histórico de comandos.
Você pode controlar as cores ansi usadas para realçar atualizando seu arquivo ~/.gitsomeconfig
.
As opções de cores incluem:
'black', 'red', 'green', 'yellow',
'blue', 'magenta', 'cyan', 'white'
Para nenhuma cor, defina os valores como None
. white
pode aparecer como cinza claro em alguns terminais.
gitsome
está disponível para Mac, Linux, Unix, Windows e Docker.
Nem todos os fluxos de trabalho do GitHub funcionam bem em um terminal;
gitsome
tentativas de atingir aqueles que o fazem.
gitsome
está apenas começando. Fique à vontade para 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
fora do gitsome
PIL
ou 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 a referência de comandos de integração do GitHub em COMMANDS.md para uma discussão detalhada de todos os comandos, parâmetros, opções e exemplos de integração do GitHub.
Confira a próxima seção para uma referência rápida .
gitsome
Para integrar corretamente com o GitHub, você deve primeiro configurar gitsome
:
$ gh configure
Para usuários do GitHub Enterprise, execute com o sinalizador -e/--enterprise
:
$ gh configure -e
$ gh feed
Visualize seu feed de atividades ou o feed de atividades de outro usuário, opcionalmente por meio de um pager com -p/--pager
. A opção pager está disponível para muitos comandos.
$ gh feed donnemartin -p
$ gh feed donnemartin/gitsome -p
$ gh notifications
Veja todas as solicitações pull para seus repositórios:
$ gh pull-requests
Veja todos os problemas em aberto onde você foi mencionado:
$ gh issues --issue_state open --issue_filter mentioned
Visualize todos os problemas, filtrando apenas aqueles atribuídos a você, independentemente do estado (aberto, fechado):
$ gh issues --issue_state all --issue_filter assigned
Para obter mais informações sobre o filtro e os qualificadores de estado, visite a referência de gh issues
em COMMANDS.md.
$ gh starred "repo filter"
Problemas de pesquisa com mais +1s:
$ gh search-issues "is:open is:issue sort:reactions-+1-desc" -p
Problemas de pesquisa que recebem mais comentários:
$ gh search-issues "is:open is:issue sort:comments-desc" -p
Pesquise problemas com a tag "procura-se ajuda":
$ gh search-issues "is:open is:issue label:"help wanted"" -p
Pesquise problemas que tenham seu nome de usuário marcado como @donnemartin :
$ gh search-issues "is:issue donnemartin is:open" -p
Pesquise todos os seus problemas privados abertos:
$ gh search-issues "is:open is:issue is:private" -p
Para obter mais informações sobre os qualificadores de consulta, visite a referência de problemas de pesquisa.
Pesquise todos os repositórios Python criados em ou após 2015, com >= 1000 estrelas:
$ gh search-repos "created:>=2015-01-01 stars:>=1000 language:python" --sort stars -p
Para obter mais informações sobre os qualificadores de consulta, visite a referência de repositórios de pesquisa.
Veja os repositórios de tendências:
$ gh trending [language] [-w/--weekly] [-m/--monthly] [-d/--devs] [-b/--browser]
Veja os desenvolvedores mais populares (atualmente, os desenvolvedores são suportados apenas no navegador):
$ gh trending [language] --devs --browser
view
Visualize as notificações listadas anteriormente, solicitações pull, problemas, repositórios, usuários etc., com HTML bem formatado para seu terminal ou, opcionalmente, em seu navegador:
$ gh view [#] [-b/--browser]
issue
Ver um problema:
$ gh issue donnemartin/saws/1
pull-request
Veja uma solicitação pull:
$ gh pull-request donnemartin/awesome-aws/2
.gitignore
Liste todos os modelos .gitignore
disponíveis:
$ gh gitignore-templates
Configure seu .gitignore
:
$ gh gitignore-template Python > .gitignore
LICENSE
Liste todos os modelos LICENSE
disponíveis:
$ gh licenses
Configure sua ou LICENSE
:
$ gh license MIT > LICENSE
Chame o Octocat para dizer a mensagem dada ou um ovo de Páscoa:
$ gh octo [say]
$ gh user octocat
Visualize seu perfil com o comando gh user [YOUR_USER_ID]
ou com o seguinte atalho:
$ gh me
Crie um comentário:
$ gh create-comment donnemartin/gitsome/1 -t "hello world"
Crie um problema:
$ gh create-issue donnemartin/gitsome -t "title" -b "body"
Crie um repositório:
$ gh create-repo gitsome
Muitos comandos gh
suportam uma opção -p/--pager
que exibe resultados em um pager, quando disponível.
Uso:
$ gh <command> [param] [options] -p
$ gh <command> [param] [options] --pager
Muitos comandos gh
suportam uma opção -b/--browser
que exibe resultados em seu navegador padrão em vez de em seu terminal.
Uso:
$ gh <command> [param] [options] -b
$ gh <command> [param] [options] --browser
Consulte COMMANDS.md para obter uma lista detalhada de todos os comandos, parâmetros, opções e exemplos de integração do GitHub.
Está tendo problemas para lembrar esses comandos? Confira o prático preenchimento automático com ajuda interativa para guiá-lo em cada comando.
Observe que você pode combinar gitsome
com outros utilitários, como o Git-Extras.
gitsome
está hospedado no PyPI. O seguinte comando instalará gitsome
:
$ pip3 install gitsome
Você também pode instalar o gitsome
mais recente da fonte GitHub, que pode conter alterações ainda não enviadas ao PyPI:
$ pip3 install git+https://github.com/donnemartin/gitsome.git
Se você não estiver instalando em um virtualenv
, talvez seja necessário executar com sudo
:
$ sudo pip3 install gitsome
pip3
Dependendo da sua configuração, você também pode querer executar pip3
com o -H flag
:
$ sudo -H pip3 install gitsome
Para a maioria dos usuários Linux, pip3
pode ser instalado em seu sistema usando o pacote python3-pip
.
Por exemplo, os usuários do Ubuntu podem executar:
$ sudo apt-get install python3-pip
Veja este tíquete para mais detalhes.
Você pode instalar pacotes Python em um virtualenv
para evitar possíveis problemas com dependências ou permissões.
Se você é usuário do Windows ou deseja mais detalhes sobre virtualenv
, consulte este guia.
Instale virtualenv
e virtualenvwrapper
:
$ pip3 install virtualenv
$ pip3 install virtualenvwrapper
$ export WORKON_HOME=~/.virtualenvs
$ source /usr/local/bin/virtualenvwrapper.sh
Crie um virtualenv
gitsome
e instale gitsome
:
$ mkvirtualenv gitsome
$ pip3 install gitsome
Se a instalação pip
não funcionar, você pode estar executando o Python 2 por padrão. Verifique qual versão do Python você está executando:
$ python --version
Se a chamada acima resultar em Python 2, encontre o caminho para Python 3:
$ which python3 # Python 3 path for mkvirtualenv's --python option
Instale o Python 3, se necessário. Defina a versão do Python ao chamar mkvirtualenv
:
$ mkvirtualenv --python [Python 3 path from above] gitsome
$ pip3 install gitsome
Se você quiser ativar o gitsome
virtualenv
novamente mais tarde, execute:
$ workon gitsome
Para desativar o gitsome
virtualenv
, execute:
$ deactivate
Você pode executar o gitsome em um contêiner Docker para evitar a instalação local do Python e pip3
. Para instalar o Docker, verifique a documentação oficial do Docker.
Depois de instalar o docker, você pode executar o gitsome:
$ docker run -ti --rm mariolet/gitsome
Você pode usar volumes Docker para permitir que o gitsome acesse seu diretório de trabalho, seu .gitsomeconfig e .gitconfig locais:
$ docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome
Se você estiver executando este comando com frequência, provavelmente desejará definir um alias:
$ alias gitsome="docker run -ti --rm -v $(pwd):/src/
-v ${HOME}/.gitsomeconfig:/root/.gitsomeconfig
-v ${HOME}/.gitconfig:/root/.gitconfig
mariolet/gitsome"
Para construir a imagem Docker a partir de fontes:
$ git clone https://github.com/donnemartin/gitsome.git
$ cd gitsome
$ docker build -t gitsome .
gitsome
Shell Depois de instalado, execute o autocompleter opcional gitsome
com ajuda interativa:
$ gitsome
A execução do shell gitsome
opcional fornecerá preenchimento automático, ajuda interativa, sugestões de estilo fish, um REPL Python, etc.
gh
Execute comandos integrados ao GitHub:
$ gh <command> [param] [options]
Nota: A execução do shell gitsome
não é necessária para executar comandos gh
. Depois de instalar gitsome
você pode executar comandos gh
a partir de qualquer shell.
gh configure
Para integrar adequadamente com o GitHub, gitsome
deve estar configurado corretamente:
$ gh configure
Execute com o sinalizador -e/--enterprise
:
$ gh configure -e
Veja mais detalhes na seção gh configure.
Por padrão, gitsome
analisa os seguintes locais para ativar as conclusões do bash.
Para adicionar conclusões bash adicionais, atualize o arquivo ~/.xonshrc
com a localização de suas conclusões bash.
Se ~/.xonshrc
não existir, crie-o:
$ touch ~/.xonshrc
Por exemplo, se conclusões adicionais forem encontradas em /usr/local/etc/my_bash_completion.d/completion.bash
, adicione a seguinte linha em ~/.xonshrc
:
$BASH_COMPLETIONS.append('/usr/local/etc/my_bash_completion.d/completion.bash')
Você precisará reiniciar gitsome
para que as alterações tenham efeito.
gh
fora do gitsome
Você pode executar comandos gh
fora do completador de shell gitsome
. Para ativar as conclusões da guia gh
para este fluxo de trabalho, copie o arquivo gh_complete.sh
localmente.
Informe ao bash que a conclusão está disponível para o comando gh
em sua sessão atual:
$ source /path/to/gh_complete.sh
Para ativar o preenchimento de guias para todas as sessões de terminal, adicione o seguinte ao seu arquivo bashrc
:
source /path/to/gh_complete.sh
Recarregue seu bashrc
:
$ source ~/.bashrc
Dica: .
é a forma abreviada de source
, então você pode executar isso:
$ . ~/.bashrc
zsh
inclui um módulo compatível com conclusões do bash.
Baixe o arquivo gh_complete.sh
conforme acima e anexe o seguinte ao seu .zshrc
:
autoload bashcompinit
bashcompinit
source /path/to/gh_complete.sh
Recarregue seu zshrc
:
$ source ~/.zshrc
PIL
ou Pillow
A exibição do avatar para os comandos do usuário gh me
e gh user
exigirá a instalação da dependência opcional PIL
ou Pillow
.
Windows* e Mac:
$ pip3 install Pillow
*Consulte a seção Suporte do Windows para conhecer as limitações do avatar.
Usuários do Ubuntu, verifiquem estas instruções no askubuntu
gitsome
é desenvolvido com xonsh
, que atualmente não suporta Python 2.x, conforme discutido neste ticket.
gitsome
foi testado no Windows 10 com cmd
e cmder
.
Embora você possa usar o prompt de comando padrão do Windows, provavelmente terá uma experiência melhor com cmder ou conemu.
Os comandos gh user
e gh me
sempre terão o sinalizador -t/--text_avatar
habilitado, pois img2txt
não suporta o avatar ansi no Windows.
No Windows, o arquivo .gitsomeconfig
pode ser encontrado em %userprofile%
. Por exemplo:
C:Usersdmartin.gitsomeconfig
Se você estiver interessado em contribuir com gitsome
, execute os seguintes 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
Se você receber um erro durante a instalação dizendo que precisa do Python 3.4+, pode ser porque seu comando pip
está configurado para uma versão mais antiga do Python. Para corrigir esse problema, é recomendado instalar pip3
:
$ sudo apt-get install python3-pip
Veja este tíquete para mais detalhes.
Detalhes de integração contínua estão disponíveis no Travis CI.
Execute testes de unidade em seu ambiente Python ativo:
$ python tests/run_tests.py
Execute testes de unidade com tox em vários ambientes Python:
$ tox
A documentação do código-fonte estará disponível em breve em Readthedocs.org. Confira os documentos de origem.
Execute o seguinte para criar os documentos:
$ scripts/update_docs.sh
Contribuições são bem-vindas!
Revise as Diretrizes de Contribuição para obter detalhes sobre como:
Sinta-se à vontade para entrar em contato comigo para discutir quaisquer questões, perguntas ou comentários.
Minhas informações de contato podem ser encontradas na minha página do GitHub.
Estou fornecendo código e recursos neste repositório para você sob uma licença de código aberto. Como este é meu repositório pessoal, a licença que você recebe para meu código e recursos é minha e não de meu empregador (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.