Git 显示所有当前文件和目录,包括它们的状态
我正在努力学习Git。现在我正在使用Git 显示所有当前文件和目录,包括它们的状态,git,libgit2,libgit2sharp,Git,Libgit2,Libgit2sharp,我正在努力学习Git。现在我正在使用LibGit2Sharplibrary来处理我的Git存储库 我想显示当前存储库文件结构,包括已添加但尚未提交的新文件 我发现我可以获得我最近提交的树: using (var repo = new Repository(repositoryPath)) { Tree tree = repo.Head.Tip.Tree; TraverseTree(tree); } void TraverseTre
LibGit2Sharp
library来处理我的Git存储库
我想显示当前存储库文件结构,包括已添加但尚未提交的新文件
我发现我可以获得我最近提交的树
:
using (var repo = new Repository(repositoryPath))
{
Tree tree = repo.Head.Tip.Tree;
TraverseTree(tree);
}
void TraverseTree(Tree tree)
{
foreach (TreeEntry item in tree.ToList())
{
Console.WriteLine(item.Path);
if (item.TargetType == TreeEntryTargetType.Tree)
{
Tree subTree = (Tree)item.Target;
TraverseTree(subTree);
}
}
}
是否可以使用Git获取当前的Reository结构,包括新文件
我想显示当前存储库文件结构,包括已添加但尚未提交的新文件
看起来你想要的是之类的东西
这可以通过repo.RetrieveStatus()
方法使用LibGit2Sharp轻松完成
为了更广泛地了解该功能及其用例,我建议您查看一下测试套件。太好了,谢谢!我还有一个问题:
repo.RetrieveStatus()
提供了修改文件的摘要。如果我想显示当前的文件树结构,我必须实际遍历文件夹/文件,并根据RepositoryStatus
对象更新UI?因为存储库树只包含已暂存的内容,所以您可以找到Repository.Index
暂存的内容。Repository.Head.Tip.Tree
包含已提交的内容。遍历头部的树将允许您显示头部提交的内容。