-
1. Primeiros Passos
- 1.1 Sobre Controle de Versão
- 1.2 Uma Breve História do Git
- 1.3 O que é Git?
- 1.4 A Linha de Comando
- 1.5 Instalando o Git
- 1.6 Configuração inicial do Git
- 1.7 Obtendo Ajuda
- 1.8 Resumo
-
2. Fundamentos do Git
-
3. Ramificação (Branching) no Git
-
4. Git no Servidor
- 4.1 Os Protocolos
- 4.2 Colocando o Git em um Servidor
- 4.3 Gerando a sua Chave Pública SSH
- 4.4 Configurando o Servidor
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Opções de Hospedagem de Terceiros
- 4.10 Resumo
-
5. Git Distribuído
-
6. GitHub
-
7. Ferramentas do Git
- 7.1 Seleção de Revisão
- 7.2 Área de Stage Interativa
- 7.3 Fazendo Stash e Limpando
- 7.4 Assinando Seu Trabalho
- 7.5 Pesquisando (Searching)
- 7.6 Reescrevendo o Histórico
- 7.7 Reset Desmistificado
- 7.8 Merging Avançado
- 7.9 Rerere
- 7.10 Depurando com Git
- 7.11 Submódulos
- 7.12 Empacotando (Bundling)
- 7.13 Substituir (Replace)
- 7.14 Armazenamento de Credenciais
- 7.15 Resumo
-
8. Customizando o Git
- 8.1 Configuração do Git
- 8.2 Atributos do Git
- 8.3 Hooks do Git
- 8.4 Uma Política de Exemplo Imposta pelo Git
- 8.5 Resumo
-
9. Git e Outros Sistemas
- 9.1 Git como Cliente
- 9.2 Migrando para o Git
- 9.3 Resumo
-
10. Git Internals (Por Dentro do Git)
- 10.1 Encanamento e Porcelana (Plumbing and Porcelain)
- 10.2 Objetos do Git
- 10.3 Referências do Git
- 10.4 Arquivos de pacote (Packfiles)
- 10.5 Refspec
- 10.6 Protocolos de Transferência
- 10.7 Manutenção e Recuperação de Dados
- 10.8 Variáveis de Ambiente
- 10.9 Resumo
-
A1. Appendix A: O Git em Outros Ambientes
- A1.1 Interfaces Gráficas
- A1.2 Git no Visual Studio
- A1.3 Git no Visual Studio Code
- A1.4 Git no IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git no Sublime Text
- A1.6 Git no Bash
- A1.7 Git no Zsh
- A1.8 Git no PowerShell
- A1.9 Resumo
-
A2. Appendix B: Incorporando o Git nos seus Aplicativos
- A2.1 Linha de Comando do Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Appendix C: Comandos do Git
- A3.1 Configuração e Ajustes
- A3.2 Obtendo e Criando Projetos
- A3.3 Snapshots Básicos
- A3.4 Branches e Merges
- A3.5 Compartilhando e Atualizando Projetos
- A3.6 Inspeção e Comparação
- A3.7 Depuração
- A3.8 Patches
- A3.9 E-mail
- A3.10 Sistemas Externos
- A3.11 Administração
- A3.12 Comandos de Encanamento
A1.8 Appendix A: O Git em Outros Ambientes - Git no PowerShell
Git no PowerShell
O terminal de linha de comando legado no Windows (cmd.exe) não é realmente capaz de prover uma experiência customizada com o Git, mas se você estiver usando o PowerShell, você está com sorte.
Isto também funciona se você estiver rodando o PowerShell Core no Linux ou macOS.
Um pacote chamado posh-git (https://github.com/dahlbyk/posh-git) fornece facilidades poderosas de autocompletar com tabulação, bem como um prompt melhorado para te ajudar a ficar por dentro do status do seu repositório.
Fica parecido com isto:
Instalação
Pré-requisitos (apenas Windows)
Antes que você consiga rodar scripts do PowerShell na sua máquina, você precisa definir a sua ExecutionPolicy local para RemoteSigned (basicamente, qualquer coisa exceto Undefined e Restricted).
Se você escolher AllSigned ao invés de RemoteSigned, também os scripts locais (os seus próprios) precisarão ser assinados digitalmente para poderem ser executados.
Com o RemoteSigned, apenas os scripts que tenham o ZoneIdentifier definido como Internet (foram baixados da web) precisam ser assinados, outros não.
Se você for um administrador e quiser definir isto para todos os usuários daquela máquina, use -Scope LocalMachine.
Se você for um usuário normal, sem direitos administrativos, pode usar -Scope CurrentUser para definir isto apenas para você.
Mais sobre Escopos (Scopes) do PowerShell: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes.
Mais sobre Política de Execução (ExecutionPolicy) do PowerShell: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy.
Para definir o valor de ExecutionPolicy para RemoteSigned em relação a todos os usuários, utilize o seguinte comando:
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Gallery
Se você tiver no mínimo o PowerShell 5 ou o PowerShell 4 com o PackageManagement instalado, você pode usar o gerenciador de pacotes para instalar o posh-git para você.
Mais informações sobre a Galeria do PowerShell (PowerShell Gallery): https://learn.microsoft.com/en-us/powershell/scripting/gallery/overview.
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
Se você quiser instalar o posh-git para todos os usuários, use -Scope AllUsers em vez do anterior, e execute o comando a partir de um console do PowerShell elevado (com permissões de administrador).
Se o segundo comando falhar com um erro como Module 'PowerShellGet' was not installed by using Install-Module, você precisará rodar um outro comando antes:
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Depois você pode voltar e tentar novamente. Isto acontece porque os módulos que são enviados (ship with) junto ao Windows PowerShell são assinados com um certificado de publicação diferente.
Atualizar o Prompt do PowerShell
Para incluir informações do Git no seu prompt, o módulo posh-git precisa ser importado.
Para ter o posh-git importado sempre que o PowerShell for iniciado, execute o comando Add-PoshGitToProfile, o qual vai adicionar a declaração de importação no seu script $profile.
Este script é executado toda vez que você abre um novo console do PowerShell.
Tenha em mente que existem múltiplos scripts do tipo $profile.
Por exemplo, um para o console e um outro separado para o ISE.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
A partir do código-fonte (From Source)
Basta baixar um release do posh-git em https://github.com/dahlbyk/posh-git/releases, e descompactá-lo.
Então importe o módulo usando o caminho completo (full path) para o arquivo posh-git.psd1:
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
Isto irá adicionar a linha correta ao seu arquivo profile.ps1, e o posh-git estará ativo na próxima vez que você abrir o PowerShell.
Para uma descrição sobre as informações do sumário de status do Git (Git status summary) exibidas no prompt, veja: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information Para mais detalhes em como customizar o seu prompt do posh-git, veja: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.