Ayrıca, iletiyi ayrı bir metin dosyasına kaydeden git commit
bir takma ad oluşturmaya çalışıyorum. Ancak, git commit
, "nothing to commit (working directory clean)"
değerini döndürürse, ayrı bir dosyaya hiçbir şey KAYDETMEMELİDİR.String karşılaştırma PowerShell işlevinde çalışmıyor - ne yapıyorum yanlış?
İşte kodum. git commit
diğer adı çalışır; dosyaya çıkış çalışması. Ancak, git commit
'dan neyin geri döndüğü önemli değil, iletiyi günlüğe kaydeder.
function git-commit-and-log($msg)
{
$q = git commit -a -m $msg
$q
if ($q –notcontains "nothing to commit") {
$msg | Out-File w:\log.txt -Append
}
}
Set-Alias -Name gcomm -Value git-commit-and-log
Ben PowerShell 3.
"$ q, git'in stdoutunun her satırında bir dizi dizisi içerir." Sadece git, birden fazla çıktı üretiyorsa. Git yalnızca bir satırı stdout'a gönderirse, $ q bir dizi değil, bir diziyi (cevabımda not ettiğim bir şey) içerecektir. –
Birden çok satır, OPs git commit commit denir (makinemde denendi). –
Bu aracı kullanmıyorum, bu yüzden yorum yapamam. Ama sadece bu özel cevabın, komut satırı aracının çıktısını almanın tüm durumlarına genelleştirilemeyeceğine işaret etmek istedim. –