c# - 如何使用 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;
}
推荐阅读
- git - 无法以所有者身份推送到组织存储库
- laravel - 基于输入值的 Laravel 搜索系统
- javascript - 从 OBJ-1 读取嵌套的 JSON 节点/键并从 OBJ-2 中找到这些键值,然后在 Javascript 中更新 OBJ-1.JSON
- c++ - 在 QTreeView double_Clicked 事件中:如何知道单击了哪个文件夹?
- python - 如何让 python 将我抓取的变量导出为 .csv?
- regex - 正则表达式允许空格,但不要以一个开头或结尾,也不是所有空格
- python-3.x - python3 http.server 记录如何
- sql - 使用变量赋值查询不返回结果
- google-sheets - 过滤 IMPORTHTML 数据
- c - 预分配内存的空指针错误?