代码
private void GitUpdate()
{
// 设置Git命令和参数
string gitCommand = "git";
string gitArguments = "pull";
string workingDirectory = UGFExtendEditorToolConfig.Data.DataTable_XlsxPath; // 替换为你的Git仓库路径
if (!Directory.Exists(workingDirectory))
{
EditorUtility.DisplayDialog("更新失败", $"{workingDirectory} 不存在", "确定");
return;
}
// 创建一个新的进程启动信息
ProcessStartInfo startInfo = new ProcessStartInfo
{
FileName = gitCommand,
Arguments = gitArguments,
RedirectStandardOutput = true,
RedirectStandardError = true,
UseShellExecute = false,
CreateNoWindow = true,
WorkingDirectory = workingDirectory // 设置工作目录
};
// 启动进程并等待完成
using (Process process = new Process { StartInfo = startInfo })
{
process.Start();
// 读取标准输出和错误输出
string output = process.StandardOutput.ReadToEnd();
string error = process.StandardError.ReadToEnd();
process.WaitForExit();
if (string.IsNullOrEmpty(error))
{
if (EditorUtility.DisplayDialog("更新成功", output, "确定"))
{
RefreshFiles();
}
}
else
{
EditorUtility.DisplayDialog("更新失败", error, "确定");
}
}
}
参考
- ProcessStartInfo 类 (System.Diagnostics)
- Process 类 (System.Diagnostics)