繁体   English   中英

如何使用 libgit2sharp 正确取消暂存文件

[英]How to Properly Unstage File With libgit2sharp

我正在尽力弄清楚如何使用 libgit2sharp 取消暂存文件。

我目前的方法是从索引中删除文件,但这似乎是删除文件而不是取消暂存。

        public bool Unstage(params string[] filePaths)
    {
        using (var repo = LocalRepo)
        {
            try
            {
                foreach (var filePath in filePaths)
                {
                    repo.Index.Remove(filePath);
                    repo.Index.Write();
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        return true;
    }

我也尝试过软重置,但我不知道如何在重置函数重载之一中传递文件名或使用 commitish 参数。

一直在尝试关注这篇文章: 为什么有两种方法可以在 Git 中取消暂存文件? ,但我似乎无法弄清楚如何在 libgit2sharp 中重新创建该方法。

经过一段时间的搜索,我终于发现 libgit2sharp 有一个 Commands 静态类,其中包含几乎所有您需要内置的命令,并最终这样做:

      public bool Unstage(params string[] filePaths)
    {
        using (var repo = LocalRepo)
        {
            try
            {
                foreach (var filePath in filePaths)
                {
                   Commands.Unstage(repo, filePath);
                }
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        return true;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM