PowerShell ile Git'i edinin
Bugün PowerShell betikleri, araçları veya modülleri oluşturuyorsanız büyük olasılıkla Git kullanıyorsunuzdur. Ne? Sen değilsin? Kurulumu henüz yapmadığınız için mi? Windows sistemlerinde size yardımcı olacak bazı "hızlı ve kirli" PowerShell hack'lerim var. Linux erkekleri ve kızları ne yapacaklarını zaten biliyorlar.
Doğal olarak Git'in en son sürümünün indirme bağlantısını bulmak için bir arama yapabilirsiniz. Veya Chocolatey kullanıyorsanız büyük ihtimalle paketleri nasıl bulacağınızı ve kuracağınızı biliyorsunuzdur. Ama belki de Chocolatey kullanmıyorsunuz (ya da kullanamıyorsunuz). Bu iyi. PowerShell bu görevi hızlı bir şekilde gerçekleştirebilir.
#download the latest 64bit version of Git for Windows
$uri = 'https://git-scm.com/download/win'
#path to store the downloaded file
$path = $env:temp
#get the web page
$page = Invoke-WebRequest -Uri $uri -UseBasicParsing
#get the download link
$dl = ($page.links | where outerhtml -match 'git-.*-64-bit.exe' | select -first 1 * ).href
#split out the filename
$filename = split-path $dl -leaf
#construct a filepath for the download
$out = Join-Path -Path $path -ChildPath $filename
#download the file
Invoke-WebRequest -uri $dl -OutFile $out -UseBasicParsing
#check it out
Get-item $out
Kodum 64bit bir sistemde çalıştığınızı varsayıyor. Yorumlar her şeyin nasıl çalıştığını açıklamalıdır. Çalıştırdığınızda en son yürütülebilir kurulum dosyasını alırsınız. Gerektiğinde yapılandırabilmeniz için manuel olarak yüklemenizi öneririm.
Bununla ilgili olarak bir birleştirme çakışması aracına ihtiyacınız olabilir. kdiff3 kullanıyorum. İşte indirmek için benzer kod.
$k = invoke-webrequest https://sourceforge.net/projects/kdiff3/files/kdiff3/0.9.98/KDiff3-64bit-Setup_0.9.98-2.exe/download -UseBasicParsing
$dl = $k.links | where href -match downloads
$dluri = $dl.href.split("?")[0]
$filename = Split-Path $dluri -Leaf
$out = Join-Path $path -ChildPath $filename
Invoke-WebRequest -uri $dluri -OutFile $out -UseBasicParsing
get-item $out
Yine devam edin ve manuel olarak yükleyin.
Son git hack'im, sürümü almak için PowerShell'i kullanmak. Git'i yüklediyseniz kolayca çalıştırabilirsiniz.
git --version
Windows'ta git version 2.14.1.windows.1 gibi bir şey alacaksınız. Ancak PowerShell meraklısı olduğum için yalnızca sürüm numarasını görüntülemek istedim. Bu yüzden değeri çıkarmak için normal bir ifade kullandım.
$v = git --version
[regex]$rx ="(\d+\.){1,}\d+"
$rx.match($v).value
Aynı kod Linux'ta açık kaynak PowerShell'de de çalışacaktır. Windows kullanıcıları kayıt defterini de kontrol edebilse de:
Get-itemproperty HKLM:\SOFTWARE\GitForWindows | Select CurrentVersion,InstallPath
İndirmeniz gerekip gerekmediğini öğrenmek için Windows'un en son git sürümünü kontrol etmek ister misiniz? Bu işlevi kullanın.
Function Get-GitCurrentRelease {
[cmdletbinding()]
Param(
[ValidateNotNullorEmpty()]
[string]$Uri = "https://api.github.com/repos/git-for-windows/git/releases/latest"
)
Begin {
Write-Verbose "[BEGIN ] Starting: $($MyInvocation.Mycommand)"
} #begin
Process {
Write-Verbose "[PROCESS] Getting current release information from $uri"
$data = Invoke-Restmethod -uri $uri -Method Get
if ($data.tag_name) {
[pscustomobject]@{
Name = $data.name
Version = $data.tag_name
Released = $($data.published_at -as [datetime])
}
}
} #process
End {
Write-Verbose "[END ] Ending: $($MyInvocation.Mycommand)"
} #end
}
Eğlenceli, değil mi? Artık Windows masaüstünüze git kurmanın hiçbir mazereti yok.