C# 如何使用libgit2sharp向主git分支递归添加文件

C# 如何使用libgit2sharp向主git分支递归添加文件,c#,git,libgit2sharp,C#,Git,Libgit2sharp,是否有一种简单的方法可以使用libgit2sharp递归地添加文件夹及其子文件夹中的所有文件?我试过: r.Stage("*"); 但当有多个文件夹和文件时,它似乎无法正常工作。浏览所有文件并添加以下文件的最佳方式是: r.Stage(path_to_file) 我想将文件添加到git存储库的“主”分支。其中一个Stage方法包括一个IEnumerable,用于将文件发送到Stage,因此您可以在将该列表传递到Stage之前构建该列表,而不是对每个文件调用一次Stage i、 e.抓取扩展名

是否有一种简单的方法可以使用libgit2sharp递归地添加文件夹及其子文件夹中的所有文件?我试过:

r.Stage("*");
但当有多个文件夹和文件时,它似乎无法正常工作。浏览所有文件并添加以下文件的最佳方式是:

r.Stage(path_to_file)

我想将文件添加到git存储库的“主”分支。

其中一个
Stage
方法包括一个
IEnumerable
,用于将文件发送到Stage,因此您可以在将该列表传递到
Stage
之前构建该列表,而不是对每个文件调用一次Stage

i、 e.抓取扩展名为
.cs
的所有文件:

var files = Directory.GetFiles (repo.Info.WorkingDirectory, "*.cs", SearchOption.AllDirectories);
repo.Stage (files);
需要一个
master
分支

repo.CreateBranch("master"); 
需要签出现有的
master
分支:

repo.Checkout ("master");

比如说.gitignore中的一些.cs文件,如果我用这种方式添加它们,它会被提交吗?您需要通过IsPathIgnored()方法过滤您的文件列表,因为Stage()是一个显式操作,就像通过
git
进行操作一样,您可以通过
-f
选项来提交.gitignore中的文件。