Personalizando o PowerShell com o Git-Posh

Para os usuário em comum do PowerShell e Git/Github, temos uma customização bastante interessante! Trata-se do pacote posh-git, que pode ser incluído no seu PowerShell, trazendo mais produtividade para trabalhos versionados no Git/Github. Ele irá mostrar o status e branch direto no prompt, assim como retratamos para o terminal portátil CMDER.

PowerShell em seu estado nativo, exibindo uma pasta de repositório Github

Bom… sem mais delongas, vamos ao tutorial…

Pre Requisitos

Antes de podere executar scripts do PowerShell em sua máquina, será necessário configurar a ExecutionPolicy Local para RemoteSigned (Basicamente, qualquer coisa exceto indefinido e restrito). Se você escolher AllSigned em vez de RemoteSigned, os scripts locais (de sua máquina) precisam ser assinados digitalmente para serem executados. Com o RemoteSigned, somente Scripts com o “ZoneIdentifier” configurado para Internet precisam ser assinados, outros não. Se você é um Administrador e deseja configurá-lo para todos os Usuários nesta máquina, use “-Scope LocalMachine”. Caso seja um usuário normal, sem privilágios administrativos, pode usar “-Scope CurrentUser” para configurá-lo apenas para si.
Mais sobre PowerShell Scopes: (https://technet.microsoft.com/de-de/library/hh847849.aspx)
Mais sobre PowerShell ExecutionPolicy: (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy)

Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force

Galeria do PowerShell

Se sua máquina tiver instalado o PowerShell 5 ou o PowerShell 4 com o PackageManagement instalado, podes usar o Gerenciador de Pacotes para instalar o Posh-Git

Install-Module PowerShellGet -Force

O comando acima deve ser utilizado apenas se o seu sistema não possui o PowerShellGet.

Update-Module PowerShellGet -Force
Install-Module Posh-Git

Atualizar o Prompt do PowerShell

Para incluir as informações git no prompt, ele precisa de ser importado. Para fazer isto automaticamente, inclui a declaração de importação no teu script de $perfil. Este script é executado toda vez que abre um novo prompt do PowerShell. Tenha em mente que existem múltiplos scripts de $perfil. Por exemplo: um para a console e outro para o ISE.

'Import-Module Posh-Git' | Out-File -Append -Encoding default -FilePath $profile
cd ~\Documents\WindowsPowerShell\

Caso não encontre a pasta acima com este comando, em geral, é criado uma pasta WindowsPowerShell dentro de sua pasta padrão de Documentos.

.\install.ps1

NOTA: O arquivo install.ps1 pode vir com outro nome como Microsoft.PowerShell_profile.ps1, por exemplo. Portanto, ao chegar na pasta \Documentos\WindowsPowerShell\ use a tecla TAB para autocompletar o arquivo .ps1. Uma vez executado, feche a atual janela do PowerShell e abra uma nova janela. E veja o resultado em um pasta onde tenha um repositório Git/GitHub.

PowerShell exibindo uma pasta com repositório Github após instalar o git-posh.

Você pode ainda personalizar mais o seu PowerShell, nas preferências nativas, mudando cor da janela, cor da fonte, opacidade ETC.

PowerShell após instalação do git-posh e customização de preferências.