为什么这个Git从C#代码中抽取不';行不通

为什么这个Git从C#代码中抽取不';行不通,c#,git,C#,Git,我必须从C#代码中提取更新,但它不会提取更新。我试过命令行,效果很好 string gitCmd = "/C cd 'C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trunk' && git pull"; Process.Start("CMD.exe", gitCmd); 您的字符串在cd中有',但cmd不接受'作为引号字符,请将其更改为',如下所示: "/C cd \"C:\

我必须从C#代码中提取更新,但它不会提取更新。我试过命令行,效果很好

    string gitCmd = "/C cd 'C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trunk' && git pull";
        Process.Start("CMD.exe", gitCmd);
您的字符串在cd中有
'
,但cmd不接受
'
作为引号字符,请将其更改为
'
,如下所示:

"/C cd \"C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trunk\" && git pull";
或者,您甚至可以在处理之前设置工作目录。开始:

string dir = "C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trun";
Process.Start(new ProcessStartInfo(){FileName = "git.exe", Arguments = "pull", WorkingDirectory = dir});

我认为cmd不接受将
'
作为引号的字符。除@bladelight所说的之外,您不需要使用cmd.exe。只需直接执行git.exe(不要忘了将要启动的git.exe进程的当前工作目录设置为主干目录…)您还可以使用
@
来消除对``转义序列的需要。