显示所有当前文件和目录,包括它们的状态

Show all the current files and directories including their statuses

我正在努力学习Git。现在我正在使用 LibGit2Sharp 库来玩转我的 Git 存储库。

我想显示当前的 Repository 文件结构,包括已添加但尚未提交的新文件。

我看到我可以获得我所做的最新提交的 Tree

    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);
            }
        }
    }

是否可以获取当前 Reository 结构,包括使用 Git 的新文件?

I want to display the current Repository files structure, including the new files that have been added but not yet committed.

您似乎在寻找类似 git status.

的内容

这可以通过 repo.RetrieveStatus() 方法使用 LibGit2Sharp 轻松完成。

为了更广泛地了解该功能及其用例,我建议您看一下 StatusFixture 测试套件。