Подтвердить что ты не робот

Есть ли способ работать с git с помощью приложения .NET?

Как я могу потянуть (возможно, нажать слишком) какую-нибудь папку из GitHub?

Я имею в виду, мне нужен API для .NET для доступа к С#, а не GUI для git.

4b9b3361

Ответ 1

Я только что нашел это: http://www.eqqon.com/index.php/GitSharp

GitSharp представляет собой реализацию Git для Dot.Net Framework и Моно. Он должен быть полностью совместим с оригинальным Git и должен быть небольшой весовой библиотекой для классных приложений, которые основаны на Git в качестве базы данных объектов или каким-то образом читают или обрабатывают репозитории...

Ответ 2

Однако я написал простой класс libray для вызова команд git, выполнив дочерний процесс.

Сначала создайте ProcessStartInfo для некоторой конфигурации.

ProcessStartInfo gitInfo = new ProcessStartInfo();
gitInfo.CreateNoWindow = true;
gitInfo.RedirectStandardError = true;
gitInfo.RedirectStandardOutput = true;
gitInfo.FileName = YOUR_GIT_INSTALLED_DIRECTORY + @"\bin\git.exe";

Затем создайте процесс для фактического выполнения команды.

Process gitProcess = new Process();
gitInfo.Arguments = YOUR_GIT_COMMAND; // such as "fetch orign"
gitInfo.WorkingDirectory = YOUR_GIT_REPOSITORY_PATH;

gitProcess.StartInfo = gitInfo;
gitProcess.Start();

string stderr_str = gitProcess.StandardError.ReadToEnd();  // pick up STDERR
string stdout_str = gitProcess.StandardOutput.ReadToEnd(); // pick up STDOUT

gitProcess.WaitForExit();
gitProcess.Close();

Теперь вам нужно вызывать любую команду.

Ответ 3

Как отметил Джеймс Мэннинг в комментарии в принятом в настоящее время ответе, библиотека libgit2sharp является активно поддерживаемым проектом, предоставляющим .NET API для Git.