Почему этот Git pull из кода C # не работает

2

Мне нужно вытащить обновления из кода С#, но он не вытаскивает обновления. Я попробовал командную строку, и она работала нормально.

    string gitCmd = "/C cd 'C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trunk' && git pull";
        Process.Start("CMD.exe", gitCmd);
  • 1
    Я думаю, что cmd не принимает '' в качестве символов для цитирования.
  • 1
    В дополнение к тому, что сказал @BladeMight, вам не нужно использовать cmd.exe. Просто запустите git.exe напрямую (и не забудьте установить текущий рабочий каталог процесса git.exe, который вы хотите запустить, в транковый каталог ...)
Теги:

1 ответ

4
Лучший ответ

Ваша строка имеет '' в cd, но cmd не принимает символ '' как enquoting, меняет их на "", например:

"/C cd \"C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trunk\" && git pull";

или вы даже можете установить рабочий каталог перед Process.Start:

string dir = "C:\\Users\\jean.wang\\source\\repos\\UpdateScriptRename\\vcs\\trun";
Process.Start(new ProcessStartInfo(){FileName = "git.exe", Arguments = "pull", WorkingDirectory = dir});
  • 2
    Вы также можете использовать @ чтобы убрать необходимость в escape-последовательности `\`.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню