[英]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.