.Net验证Git并捕获推送输出

问题描述

项目要求:

  1. 捕获来自push操作的git输出
  2. 在本地和VM中执行推送操作。

问题: 如果我在本地运行并且不包含任何身份验证信息,则运行正常。看来git auto使用了我的凭据。

processstartinfo startInfo = new processstartinfo("git","push");
startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;

Process gitProcess = Process.Start(startInfo);

string pushOutput = gitProcess.StandardError.ReadToEnd();
gitProcess.WaitForExit();

但是,当我将其推送到VM时,由于用户名和密码,推送失败。因此,我尝试将身份验证添加到push命令中。

        string pushCommand = $"push https://'{Environment.UserName}':'{gitSatToken}'@https:<the_git_repo_url>";
        processstartinfo startInfo = new processstartinfo("git",pushCommand);

现在,即使本地失败。错误:致命:无法访问“ ”:SSL证书问题:无法获取本地发行者证书。奇怪的是,如果我检查该URL是否存在的配置。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)