有没有办法使用.NET应用程序使用git?

我怎样才能从GitHub (也可能 )一些文件夹?

我的意思是我需要.NET的API来在C#中访问,而不是git的GUI。

我刚刚发现这个: http : //www.eqqon.com/index.php/GitSharp

GitSharp是Dot.Net Framework和Mono的Git实现。 它的目标是完全兼容原来的Git,并且应该是基于Git作为其对象数据库或者以某种方式读取或操作存储库的酷应用程序的轻量级库。

我所做的是写一个简单的类库,通过运行subprocess来调用git命令。

首先,为某些configuration创build一个ProcessStartInfo。

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

然后创build一个进程来实际运行该命令。

 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(); 

那么现在就打电话给你。

正如James Manning在当前接受的答案中提到的, libgit2sharp是一个为Git提供.NET API的积极支持的项目。