這邊遇到找不到 Git 的環境變數
所以在 @"Git\cmd" 做了一些修改
這邊得看看你 Git 的執行檔在那個目錄內
再做調整與修改
public class CommitID
{
private static string EnvironmentVariable
{
get
{
string sPath = Environment.GetEnvironmentVariable("Path");
var result = sPath.Split(';');
for (int i = 0; i < result.Length; i++)
{
if (result[i].Contains(@"Git\cmd"))
{
sPath = result[i];
}
}
return sPath;
}
}
public static void GetCommitID()
{
string gitPath = System.IO.Path.Combine(EnvironmentVariable, "git.exe");
Console.WriteLine($"環境路徑:{gitPath}");
Process p = new Process();
p.StartInfo.FileName = gitPath;
p.StartInfo.Arguments = "rev-parse HEAD";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.OutputDataReceived += OnOutputDataReceived;
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();
}
private static void OnOutputDataReceived(object sender, DataReceivedEventArgs e)
{
if (e != null && !string.IsNullOrEmpty(e.Data))
{
ID = e.Data;
Console.WriteLine(e.Data);
}
}
public static string ID { get; set; } = "";
}
使用方法:
先呼叫 GetCommitID()
之後 ID 就會有 Git 的版本號
他會取得目前執行目錄上的 Git 版本號
沒有留言:
張貼留言