Я следовал инструкциям на этой странице для установки Posh-Git
и добавления его в свой профиль PowerShell, чтобы он был доступен в каждом новом сеансе PowerShell:
https://git-scm.com/book/en/v2/Appendix-A%3A-Git-in-Other-Environments-Git-in-Powershell
Установите Posh-Git (от администратора PowerShell):
Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted
Install-Module PowerShellGet -Force -SkipPublisherCheck
#Update-Module PowerShellGet -Force
Install-Module Posh-Git -Scope AllUsers
Добавьте Posh-Git в профиль (из моего собственного сеанса PowerShell):
$profile
> C:\Users\David\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Test-Path $profile
> false
New-Item $profile
'Import-Module Posh-Git' | Out-File -Append -Encoding default -FilePath $profile
Test-Path $profile
> true
Всякий раз, когда я запускаю PowerShell из меню «Пуск» или закрепленной кнопки панели задач, он запускается и корректно загружает Posh-Git, а git
работает как прямая команда (даже если git
отсутствует в моем PATH
и where git
ничего не возвращает). Как работает команда git
в этом случае?
Однако когда я запускаю PowerShell из панели быстрого доступа Windows File Explorer или из меню ленты (на рисунке ниже), он все равно выполняет модуль Posh-Git, но команда git
больше не работает. Зачем? Чем кнопка QAT PowerShell отличается от запуска PowerShell из меню «Пуск»?