-
1. Começando
- 1.1 Sobre Controle de Versão
- 1.2 Uma Breve História do Git
- 1.3 O Básico do Git
- 1.4 A Linha de Comando
- 1.5 Instalar o Git
- 1.6 Configuração Inicial do Git
- 1.7 Pedindo Ajuda
- 1.8 Resumo
-
2. Noções Básicas do Git
- 2.1 Obtendo um Repositório Git
- 2.2 Recording Changes to the Repository
- 2.3 Veja o Histórico de Confirmação
- 2.4 Desfazer Coisas
- 2.5 Working with Remotes
- 2.6 Tagging
- 2.7 Alias Git
- 2.8 Resumo
-
3. Ramificação do Git
- 3.1 Branches in a Nutshell
- 3.2 Basic Branching and Merging
- 3.3 Branch Management
- 3.4 Branching Workflows
- 3.5 Remote Branches
- 3.6 Rebasing
- 3.7 Resume
-
4. Git no Servidor
- 4.1 The Protocols
- 4.2 Getting Git on a Server
- 4.3 Generating Your SSH Public Key
- 4.4 Setting Up the Server
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Opções Hospedadas de Terceiros
- 4.10 Resumo
-
5. Git Distribuído
- 5.1 Distributed Workflows
- 5.2 Contributing to a Project
- 5.3 Maintaining a Project
- 5.4 Resumo
-
6. GitHub
-
7. Ferramentas do Git
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 Resumo
-
8. Personalizar o Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Resumo
-
9. O Git e Outros Sistemas
- 9.1 O Git como Cliente
- 9.2 Migrar para o Git
- 9.3 Resumo
-
10. Internos do Git
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Resumo
-
A1. Appendix A: Git em Outros Ambientes
- A1.1 Graphical Interfaces
- A1.2 Git no Visual Studio
- A1.3 Git no Eclipse
- A1.4 Git in Bash
- A1.5 Git no Zsh
- A1.6 Git no Powershell
- A1.7 Resumo
-
A2. Appendix B: Incorporar o Git nos teus Aplicativos
- A2.1 Linha de comando Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. Appendix C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
A1.5 Appendix A: Git em Outros Ambientes - Git no Zsh
Git no Zsh
O Zsh também é fornecido com uma biblioteca de preenchimento de tabulação para o Git.
Para usá-lo, basta executar autoload -Uz compinit && compinit
no teu .zshrc
.
A interface do Zsh é um pouco mais poderosa do que a do Bash:
$ git che<tab>
check-attr -- display gitattributes information
check-ref-format -- ensure that a reference name is well formed
checkout -- checkout branch or paths to working tree
checkout-index -- copy files from index to working directory
cherry -- find commits not merged upstream
cherry-pick -- apply changes introduced by some existing commits
As tabulações de tabulação ambíguas não são apenas listadas; Elas têm descrições úteis, e tu podes navegar na lista de forma gráfica ao carregar repetidamente a aba. Isto funciona com os comandos do Git, seus argumentos e nomes de coisas dentro do repositório (como refs e controles remotos), bem como nomes de arquivos e todas as outras coisas que Zsh sabem como completar as tabulações.
O Zsh é fornecido com uma estrutura para obter informações dos sistemas de controle de versão, chamado vcs_info
.
Para incluir o nome do ramo no prompt do lado direito, adiciona estas linhas ao arquivo ~/.zshrc
:
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'
Isto resulta numa exibição do ramo atual no lado direito da janela do terminal, sempre que ot eu shell estiver dentro de um repositório Git. (O lado esquerdo também é suportado, é claro, basta descomentar a tarefa de PROMPT). Parece-se um pouco como isto:
zsh
personalizado.imagem::images/zsh-prompt.png[Customized zsh
prompt.]
Para mais informção no vcs_info, consulta a sua documentação
na página do manual zshcontrib(1)
,
ou online em http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.
Em vez de vcs_info, podes preferir o script de personalização do prompt que acompanha o Git, chamado git-prompt.sh
; consulta https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh [] para obter os detalhes.
git-prompt.sh
é compatível com Bash e Zsh.
Zsh é poderoso o suficiente para que haja estruturas inteiras dedicadas a torná-lo melhor. Um deles é chamado de "oh-my-zsh", e pode ser encontrado em https://github.com/robbyrussell/oh-my-zsh. O sistema de plug-in do oh-my-zsh vem com a poderosa conclusão da aba git, e tem uma variedade de "temas" rápidos, muitos dos quais exibem dados de controle de versão. Um exemplo de um tema oh-my-zsh. é apenas um exemplo do que pode ser feito com este sistema.