如何使用 libgit2sharp 将文件递归添加到 master git 分支

How to add files recursively to the master git branch using libgit2sharp

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

r.Stage("*");

但是当有多个文件夹和文件时,它似乎无法正常工作。最好的方法是浏览所有文件并添加如下文件:

r.Stage(path_to_file)

我想将文件添加到 git 存储库的 'master' 分支。

其中一个 Stage 方法包含一个 IEnumerable<string> 用于暂存文件,因此您可以在将其传递给 Stage 之前构建该列表,而不是为每个文件调用一次暂存。

即抓取所有 recursively 扩展名为 .cs 的文件:

var files = Directory.GetFiles (repo.Info.WorkingDirectory, "*.cs", SearchOption.AllDirectories);
repo.Stage (files);

需要create一个master分支

repo.CreateBranch("master"); 

需要检查现有的 master 分支:

repo.Checkout ("master");