From 4930f904e8a52c311a3f07a68c2ebebd2fb1fb97 Mon Sep 17 00:00:00 2001 From: Keith Hill Date: Fri, 15 Mar 2019 21:35:09 -0600 Subject: [PATCH] Update for PowerShell Core, module name is all lowercase --- .../sections/powershell.asc | 31 +++++++++--------- images/posh-git.png | Bin 4195 -> 14942 bytes 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/book/A-git-in-other-environments/sections/powershell.asc b/book/A-git-in-other-environments/sections/powershell.asc index 557412e35..98c216b73 100644 --- a/book/A-git-in-other-environments/sections/powershell.asc +++ b/book/A-git-in-other-environments/sections/powershell.asc @@ -4,8 +4,8 @@ (((powershell)))(((tab completion, powershell)))(((shell prompts, powershell))) (((posh-git))) The legacy command-line terminal on Windows (`cmd.exe`) isn't really capable of a customized Git experience, but if you're using PowerShell, you're in luck. -This also works if you're running PowerShell on a non-Windows platform like Debian. -A package called Posh-Git (https://github.com/dahlbyk/posh-git[]) provides powerful tab-completion facilities, as well as an enhanced prompt to help you stay on top of your repository status. +This also works if you're running PowerShell Core on Linux or macOS. +A package called posh-git (https://github.com/dahlbyk/posh-git[]) provides powerful tab-completion facilities, as well as an enhanced prompt to help you stay on top of your repository status. It looks like this: .PowerShell with Posh-git. @@ -27,16 +27,15 @@ More about PowerShell ExecutionPolicy: https://docs.microsoft.com/en-us/powershe ----- ===== PowerShell Gallery -If you have at least PowerShell 5 or PowerShell 4 with PackageManagement installed, you can use the package manager to fetch Posh-Git for you. +If you have at least PowerShell 5 or PowerShell 4 with PackageManagement installed, you can use the package manager to install posh-git for you. More information about PowerShell Gallery: https://docs.microsoft.com/en-us/powershell/gallery/overview[] [source,powershell] ----- -> Set-PSRepository -Name PSGallery -InstallationPolicy Trusted -> Update-Module PowerShellGet -Force -> Install-Module Posh-Git -Scope AllUsers +> Install-Module posh-git -Scope CurrentUser -Force +> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support ----- -If you want to install Posh-Git only for the current user and not globally, use "-Scope CurrentUser" instead. +If you want to install posh-git for all users, use "-Scope AllUsers" instead and execute the command from an elevated PowerShell console. If the second command fails with an error like `Module 'PowerShellGet' was not installed by using Install-Module`, you'll need to run another command first: [source,powershell] @@ -48,21 +47,23 @@ Then you can go back and try again. This happens, because the modules that ship with Windows PowerShell are signed with a different publishment certificate. ===== Update PowerShell Prompt -To include git information in your prompt, posh-git needs to be imported. To do this automatically, include the import statement into you $profile script. This script is executed everytime you open a new PowerShell prompt. +To include git information in your prompt, the posh-git module needs to be imported. To have posh-git imported every time PowerShell starts, execute the Add-PoshGitToProfile command which will add the import statement into you $profile script. This script is executed everytime you open a new PowerShell console. Keep in mind, that there are multiple $profile scripts. E. g. one for the console and a separate one for the ISE. [source,powershell] ----- -> New-Item -Name $(Split-Path -Path $profile) -ItemType Directory -Force -> 'Import-Module Posh-Git' | Out-File -Append -Encoding default -FilePath $profile +> Import-Module posh-git +> Add-PoshGitToProfile -AllHosts ----- ===== From Source -Just download a Posh-Git release from (https://github.com/dahlbyk/posh-git[]), and uncompress it to the `WindowsPowerShell` directory. -Then open a PowerShell prompt as an administrator, and do this: +Just download a posh-git release from (https://github.com/dahlbyk/posh-git[]), and uncompress it. +Then import the module using the full path to the posh-git.psd1 file: [source,powershell] ----- -> cd ~\Documents\WindowsPowerShell\Module\posh-git -> .\install.ps1 +> Import-Module \src\posh-git.psd1 +> Add-PoshGitToProfile -AllHosts ----- -This will add the proper line to your `profile.ps1` file, and posh-git will be active the next time you open your prompt. +This will add the proper line to your `profile.ps1` file, and posh-git will be active the next time you open PowerShell. +For a description of the Git status summary information displayed in the prompt see: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information[] +For more details on how to customize your posh-git prompt see: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables[] diff --git a/images/posh-git.png b/images/posh-git.png index f66505cf3bc777a88fa0af1e746b33a2d41c3ce8..d403b6dc9da84951be978f1d0676c37ec5250356 100644 GIT binary patch literal 14942 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 literal 4195 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