Git
Chapters ▾ 2nd Edition

A1.8 Ek bölüm A: Diğer Ortamlarda Git - PowerShell ile Git

PowerShell ile Git

Windows’un eski komut satırı terminali (cmd.exe) özelleştirilmiş bir Git deneyimi için pek de uygun değil, ancak PowerShell kullanıyorsanız şanslısınız demektir. Linux veya macOS üzerinde PowerShell Core çalıştırdığınızda da bu durum geçerlidir. Posh-git (https://github.com/dahlbyk/posh-git) adlı bir paket, güçlü sekme tamamlama olanakları sağlar ve size repo durumunuzu takip etmenize yardımcı olmak için gelişmiş bir ipucu sunar. Görünümü şuna benzer:

Posh-git’le PowerShell.
Görsel 164. Posh-git’le PowerShell.

Kurulum

Gereksinimler (Windows için)

Makinenizde PowerShell komut dosyalarını çalıştırabilmek için, yerel ExecutionPolicy ayarını RemoteSigned olarak belirlemeniz gerekecektir (Temelde Tanımsız ve Kısıtlanmış harici her seçenek). Eğer AllSigned seçeneğini tercih ederseniz, kendi yazdığınız yerel komut dosyalarının da çalıştırılabilmesi için dijital olarak imzalanmış olmaları gerekir. RemoteSigned seçeneğiyle, "ZoneIdentifier" özelliği "Internet" olarak ayarlanmış olan (webden indirilmiş) komut dosyalarının imzalanmış olması gerekir, diğerleri için gerek yoktur.

Eğer bir yöneticiyseniz ve bu ayarı makinedeki tüm kullanıcılar için belirlemek istiyorsanız, "-Scope LocalMachine" kullanın. Eğer yönetici yetkileri olmayan sıradan bir kullanıcıysanız, "-Scope CurrentUser" kullanarak sadece kendiniz için ayarlayabilirsiniz.

Daha fazla bilgi için: - PowerShell Kapsamları: [PowerShell Scopes](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes) - PowerShell ExecutionPolicy: [PowerShell ExecutionPolicy](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy)

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

PowerShell Galerisi

Eğer en az PowerShell 5 veya Paket Yönetimi kurulu PowerShell 4’e sahipseniz, paket yöneticisini kullanarak posh-git’i kurabilirsiniz.

PowerShell Galerisi hakkında daha fazla bilgi için: [PowerShell Gallery Overview](https://docs.microsoft.com/en-us/powershell/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ğer posh-git’i tüm kullanıcılar için kurmak istiyorsanız, "-Scope AllUsers" kullanın ve komutu "yönetici ayrıcalıklarına sahip" bir PowerShell konsolundan çalıştırın. İkinci komut Module 'PowerShellGet' was not installed by using Install-Module gibi bir hata alırsa, önce başka bir komut çalıştırmanız gerekecektir:

> Install-Module PowerShellGet -Force -SkipPublisherCheck

Sonra dönüp tekrar deneyebilirsiniz. Bunun sebebi, Windows PowerShell ile birlikte gelen modüllerin farklı bir yayımlama sertifikası ile imzalanmasıdır.

PowerShell İstemini Güncelleme

Git bilgisini isteminize dahil etmek için, posh-git modülü içe aktarılmalıdır. PowerShell her başladığında posh-git’in içe aktarılması için, Add-PoshGitToProfile komutunu çalıştırın: bu komut içe aktarma ifadesini $profile betiğinize ekler. Bu betik, her yeni PowerShell konsolu açıldığında yürütülür. Birden fazla $profile betiği bulunduğunu unutmayın. Örneğin: biri konsol için, bir diğeri ise ISE içindir.

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

Kaynaktan

(https://github.com/dahlbyk/posh-git) adresinden bir posh-git sürümü indirin ve sıkıştırırmış dosyayı açın. Ardından posh-git.psd1 dosyasının tam yolunu kullanarak modülü içe aktarın:

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

Bu, profile.ps1 dosyanıza uygun satırı ekleyecektir ve PowerShell’i bir sonraki açışınızda posh-git etkin olacaktır. İstemde görüntülenen Git durum özeti bilgilerinin açıklaması için bkz.: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information Posh-git isteminizi nasıl özelleştireceğiniz hakkında daha fazla ayrıntı için bkz.: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables

scroll-to-top