Git
Chapters ▾ 2nd Edition

A1.6 Appendix A: Git в інших середовищах - Git у Powershell

Git у Powershell

Стандартний термінал командного рядку на Windows (cmd.exe) не дуже здатний на доладне використання Git, проте, якщо ви використовуєте Powershell, то вам пощастило. Пакет під назвою Posh-Git (https://github.com/dahlbyk/posh-git) надає потужні можливості автодоповнювання, а також поліпшений командний запит, щоб допомогти вам спостерігати за останнім статусом репозиторія. Він виглядає так:

Powershell з Posh-git.
Figure 164. Powershell з Posh-git.

Встановлення

Перед запуском

Перед використанням скриптів PowerShell вам потрібно встановити локальний ExecutionPolicy у значення RemoteSigned (взагалі-то будь-яке значення крім Undefined чи Restricted). Якщо вибрати AllSigned замість RemoteSigned, то й локальні скрипти (тобто ваші власні) потребуватимуть підпису, щоб бути виконаними. У випадку RemoteSigned, лише скрипти, що в них ZoneIdentifief встановлено у Internet (тобто вони були завантажені з мережі) матимуть бути з підписом, решта — ні. Якщо ви адміністратор і бажаєте встановити це значення для всіх користувачів на машині, використайте "-Scope LocalMachine". Якщо ви звичайний користувач без прав адміністратора, використайте "-Scope CurrentUser", щоб це налаштування стосувалося лише вас. Докладніше про PowerShell Scopes: (https://technet.microsoft.com/de-de/library/hh847849.aspx) Докладніше про PowerShell ExecutionPolicy: (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy)

> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force

Галерея PowerShell

Якщо у вас принаймні PowerShell 5 чи PowerShell 4 з встановленим менеджером пакунків, ви можете його використати, щоб отримати Posh-Git. Докладніше про вимоги: (https://docs.microsoft.com/en-us/powershell/gallery/psget/get_psget_module)

> Update-Module PowerShellGet -Force
> Install-Module Posh-Git -Scope LocalMachine

Якщо ви хочете встановити Posh-Git лише для поточного користувача, а не глобально, використайте натомість "-Scope CurrentUser".

Оновлення запиту PowerShell

Щоб у вашому запиті відображалася інформація git, треба імпортувати posh-git. Щоб це відбувалося автоматично, додайте команду import до скрипту $profile. Цей скрипт виконується щоразу, як ви відкриваєте новий PowerShell. Памʼятайте, що є декілька скриптів $profile. Наприклад, один для консолі, окремий для ISE.

> 'Import-Module Posh-Git' | Out-File -Append -Encoding default -FilePath $profile

З джерельного коду

Просто завантажте реліз Posh-Git з (https://github.com/dahlbyk/posh-git) та розпакуйте його до теки WindowsPowershell. Тоді відкрийте Powershell як адміністратор та виконайте:

> cd ~\Documents\WindowsPowerShell\Module\posh-git
> .\install.ps1

Це додасть потрібний рядок до файлу profile.ps1, та posh-git стане активним наступного разу, коли ви відкриєте його.