Zapuščeni terminal ukazne vrstice na Windowsu (cmd.exe
) ni resnično zmožen prilagojene izkušnje Git, vendar če uporabljate Powershell, imate srečo.
To deluje tudi, če poganjate PowerShell Core na Linuxu ali macOS.
Paket imenovan posh-git (https://github.com/dahlbyk/posh-git) ponuja zmogljive lastnosti zaključevanja s tabulatorko, kot tudi okrepljeni pozivnik, da vam pomaga ostati na vrhu statusa repozitorija.
Videti je nekako takole:
Preden lahko na svojem računalniku zaženete skripte PowerShell, morate nastaviti lokalni ExecutionPolicy
na RemoteSigned
(v bistvu karkoli, razen Undefined
in Restricted
).
Če namesto RemoteSigned
izberete AllSigned
, morajo biti tudi lokalni skripti (vaši lastni) digitalno podpisani, da jih lahko izvedete.
Z RemoteSigned
morajo biti podpisani le skripti, ki imajo nastavljen ZoneIdentifier
na Internet
(prejeti z interneta), drugi pa ne.
Če ste skrbnik in želite to nastaviti za vse uporabnike na tem računalniku, uporabite -Scope LocalMachine
.
Če ste običajni uporabnik brez skrbniških pravic, lahko uporabite -Scope CurrentUser
, da to nastavite samo zase.
Več o obsegu PowerShell: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes.
Več o izvajanju pravilnika PowerShell: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy.
Za nastavitev vrednosti ExecutionPolicy
na RemoteSigned
za vse uporabnike uporabite naslednji ukaz:
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
Če imate vsaj PowerShell 5 ali PowerShell 4 z namestitvijo PackageManagement, lahko uporabite upravitelja paketov, da vam namesti posh-git.
Več informacij o galeriji PowerShell: https://learn.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
Če želite namestiti posh-git za vse uporabnike, namesto tega uporabite -Scope AllUsers
in izvedite ukaz iz dvignjene konzole PowerShell.
Če drugi ukaz ni uspešen in vrne napako, kot je Module 'PowerShellGet' was not installed by using Install-Module
, boste morali najprej zagnati drugačen ukaz:
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Nato se lahko vrnete nazaj in poskusite znova. To se zgodi, ker so moduli, ki se jih dobavlja z Windows PowerShell, podpisani s certifikatom drugačnega izdajatelja.
Za vključitev informacij Git v vaš pozivnik PowerShell, morate uvoziti modul posh-git.
Da bi bil posh-git uvožen vsakič, ko zaženete PowerShell, izvedite ukaz Add-PoshGitToProfile
, ki bo dodal uvozno izjavo v vaš skript $profile
.
Ta skript se izvede vsakič, ko odprete novo konzolo PowerShell.
Upoštevajte, da obstaja več skriptov $profile
.
Na primer, ena za konzolo in ločena za ISE.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
Preprosto prenesite izdajo posh-git iz https://github.com/dahlbyk/posh-git/releases in jo razširite.
Nato uvozite modul s polno potjo do datoteke posh-git.psd1
:
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
To bo dodalo pravilno vrstico v vašo datoteko profile.ps1
in posh-git bo aktiven, ko boste naslednjič odprli PowerShell.
Za opis povzetka stanja Git, prikazanega v opozorilu, si oglejte: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information Za več podrobnosti o tem, kako prilagoditi vaš pozivnik posh-git, si oglejte: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.