Я хочу получить последний пуш из git repo с подпроцессом c #. Я попробовал следующее:
Это получило поздний толчок из моего репо, не извлекая новые изменения из удаленного репо, Что я сделал не так («загрузка и извлечение не работает, но жесткий сброс работает»)
Process process = new Process();
process = GetProcess("reset --hard");
process.Start();
process.WaitForExit();
process = GetProcess("fetch origin");
process.Start();
while (process.StandardOutput.Peek() >= 0)
{
ViewBag.text+= process.StandardOutput.ReadLine();
}
process.WaitForExit();
process = GetProcess("checkout -B \"" + branchname + "\"
\"origin/" + branchname + "\" ");
process.Start();
while (process.StandardOutput.Peek() >= 0)
{
ViewBag.text+= process.StandardOutput.ReadLine();
}
process.WaitForExit();
process = GetProcess("pull --progress origin");
process.Start();
while (process.StandardOutput.Peek() >= 0)
{
ViewBag.text+= process.StandardOutput.ReadLine();
}
process.WaitForExit();
public Process GetProcess(string arg)
{
ProcessStartInfo startInfo = new ProcessStartInfo("git.exe");
startInfo.UseShellExecute = false;
startInfo.WorkingDirectory = projectPath;
startInfo.RedirectStandardInput = true;
startInfo.RedirectStandardOutput = true;
Process process = new Process();
process.StartInfo = startInfo;
startInfo.Arguments = arg;
return process;
}