C# 如何获取在存储库目录中更改、添加或修改的文件
是否可以从存储库中获取所有更改/添加/删除的文件,然后转移这些文件?如果是,如何进行 我是这样做的:C# 如何获取在存储库目录中更改、添加或修改的文件,c#,libgit2sharp,C#,Libgit2sharp,是否可以从存储库中获取所有更改/添加/删除的文件,然后转移这些文件?如果是,如何进行 我是这样做的: foreach (string file in Directory.GetFiles("dir/repo", "*", SearchOption.AllDirectories)) { repo.Stage(file); } 但是,它并不能满足我的要求,因为我会处理所有未跟踪的文件。但是我想暂存所有修改/添加/删除的文件。您可以使用git命令行工具获取更改/添加/删除的文件列表。只要谷歌
foreach (string file in Directory.GetFiles("dir/repo", "*", SearchOption.AllDirectories))
{
repo.Stage(file);
}
但是,它并不能满足我的要求,因为我会处理所有未跟踪的文件。但是我想暂存所有修改/添加/删除的文件。您可以使用git命令行工具获取更改/添加/删除的文件列表。只要谷歌一下,你就会发现很多资源 看看如何运行命令行工具并以字符串形式获取输出: 我想这就是你所需要的 是否可以从存储库中获取所有更改/添加/删除的文件,然后转移这些文件?如果是,如何进行 “使用通配符,卢克!”;-)
repo.Stage(“*”)
将模拟git add--all(来自git:“不仅在工作树有文件匹配的地方更新索引,而且在索引已经有条目的地方更新索引。这将添加、修改和删除索引条目以匹配工作树。”)
请参阅
IndexFixture.cs
中的测试以了解更多的见解。谢谢您的回复,但这不是我需要的。我发现每个文件都有一个自定义状态,可以使用repo.RetrieveStatus(“file.txt”)
检索。然后我只需检查状态是否已添加、修改或删除,然后将其暂存。@Alexandre:这个答案对您有帮助吗?