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

时间:2015-10-27 13:11:47

标签: c# git libgit2sharp

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

r.Stage("*");

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

r.Stage(path_to_file)

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

1 个答案:

答案 0 :(得分:0)

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

即。抓取所有具有.cs扩展名的文件recursively

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

需要create master分支

repo.CreateBranch("master"); 

需要签出现有的master分支:

repo.Checkout ("master");