Git
Chapters ▾ 2nd Edition

A1.8 Додатак A: Програм Гит у другим окружењима - Гит у Powershell

Гит у Powershell

Стари терминал командне линије на Виндоуз систему (cmd.exe) није баш способан за прилагођено Гит искуство, али ако користите Powershell, имате среће. Ово такође функционише ако извршавате PowerShell Core на Линукс или мекОС систему. Пакет под именом Posh-Git (https://github.com/dahlbyk/posh-git) обезбеђује моћне системе за таб-довршавање, као и побољшани одзив који вам помаже да имате једноставан поглед на статус репозиторијума. Изгледа овако:

_Powershell_ са _Posh-git_
Слика 161. Powershell са Posh-git

Инсталација

Предуслови (само за Виндоуз)

Пре него што будете у стању да на вашој машини извршавате PowerShell скрипте, морате да поставите локалну ExecutionPolicy на RemoteSigned (у суштини на било шта осим Undefined и Restricted). Ако сте уместо RemoteSigned изабрали AllSigned, онда и локалне скрипте (које сте ви написали) морају бити дигитално потписане да би могле да се извршавају. Са RemoteSigned, само скрипте којима је ZoneIdentifier постављен на Internet (односно које су преузете са интернета) моју бити потписане, остале не морају. Ако сте администратор и ово желите да поставите за све кориснике на машини, употребите -Scope LocalMachine. Ако сте обични корисник, без административних права, употребите -Scope CurrentUser да полису поставите само за свој налог.

Ако желите да поставите вредност ExecutionPolicy на RemoteSigned за све кориснике, употребите следећу команду:

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

Ако имате инсталиран барем PowerShell 5 или PowerShell 4 са инсталираним PackageManagement, за инсталацију posh-git можете да употребите менаџер пакета.

Више информација о PowerShell Gallery: https://docs.microsoft.com/en-us/powershell/scripting/gallery/overview.

> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support

Ако posh-git желите да инсталирате за све кориснике, употребите -Scope AllUsers и извршите команду из PowerShell конзоле са администраторским правима. У случају да друга команда не успе да се изврши и врати нешто као Module 'PowerShellGet' was not installed by using Install-Module, прво ћете морати да извршите једну другу команду:

> Install-Module PowerShellGet -Force -SkipPublisherCheck

Затим можете да се вратите и покушате поново. Ово се дешава јер су модули који се испоручују са Windows PowerShell потписани са другачијим сертификатом издавача.

Ажурирање PowerShell одзива

Да бисте у одзив укључили гит информације, потребно је да увезете posh-git модул. Ако желите да се posh-git увози сваки пут када се покрене PowerShell, извршите Add-PoshGitToProfile команду која ће у вашу $profile скрипту додати наредбу за увоз. Ова скрипта се увози сваки пут када отворите PowerShell конзолу. Имајте на уму да постоји више $profile скрипти. Нпр. једна за конзолу и друга за ISE (интегрисано скрипт окружење).

> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts

Из изворног кода

Једноставно преузмите posh-git издање са адресе https://github.com/dahlbyk/posh-git/releases и распакујте га. Затим увезите модул користећи пуну путању до posh-git.psd1 фајла:

> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts

То ће додати одговарајућу линију у ваш profile.ps1 фајл и posh-git ће бити активан следећи пут када покренете PowerShell.

За опис информација о Гит статусу које се приказују у одзиву погледајте: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information За више детаља о начину да прилагодите posh-git одзив, погледајте: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.