用控制台命令拉取git最新仓库代码

C#利用Diagnostics  拉取最新代码  示例代码

 

        static void DiagnosticTest()
        {
            Process p;
            ProcessStartInfo psi;
            psi = new ProcessStartInfo("sh.exe");
            psi.Arguments += "--login -i";

            psi.UseShellExecute = false;
            psi.RedirectStandardOutput = true;  //允许重定向标准输出
            psi.RedirectStandardInput = true;   //接受来自调用程序的输入信息

            psi.RedirectStandardError = true;
            psi.WindowStyle = ProcessWindowStyle.Hidden;

            p = Process.Start(psi);           
            
            p.StandardInput.WriteLine("cd D://");
            p.StandardInput.WriteLine("cd D:/git/Component/");

            p.OutputDataReceived += new DataReceivedEventHandler(OnDataReceived);            
            p.BeginOutputReadLine();
            p.BeginErrorReadLine();

            //p.StandardInput.WriteLine("git fetch --all");
            //p.StandardInput.WriteLine("git reset --hard origin/master");
            p.StandardInput.WriteLine("git pull");
            p.Close();
        }
        private static void OnDataReceived(object Sender, DataReceivedEventArgs e)
        {
            if (e.Data == "Already up-to-date.")
            {
                Console.WriteLine("已拉取最新的Component代码");
            }
        }
posted @ 2017-01-16 10:35  静逸  阅读(...)  评论(... 编辑 收藏