Я следовал инструкциям на этой странице для установки 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 из меню «Пуск»?

0