如何从GitHub拉(也许也推)一些文件夹?
我的意思是我需要用于.NET的API才能在C#中访问,而不是用于git的GUI。
Answers:
我刚刚发现了这个:http : //www.eqqon.com/index.php/GitSharp
GitSharp是针对Dot.Net Framework和Mono的Git的实现。它旨在与原始Git完全兼容,并且应该是一个轻量级的库,适用于以Git为对象数据库或以某种方式读取或操作存储库的酷应用程序。
但是我要做的是编写一个简单的类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();
然后,您现在可以调用任何命令。
正如James Manning在当前接受的答案中的评论中提到的那样,库libgit2sharp是一个受积极支持的项目,为Git提供了.NET API。