如何使用 libgit2sharp 正确取消暂存文件
Posted
技术标签:
【中文标题】如何使用 libgit2sharp 正确取消暂存文件【英文标题】:How to Properly Unstage File With libgit2sharp 【发布时间】:2020-05-24 11:25:13 【问题描述】:我正在尽力弄清楚如何使用 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 参数。
一直在尝试关注此帖子:Why are there two ways to unstage a file in Git?,但我似乎无法弄清楚如何在 libgit2sharp 中重新创建该方法。
【问题讨论】:
【参考方案1】:经过一段时间的搜索,我终于发现 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;
【讨论】:
以上是关于如何使用 libgit2sharp 正确取消暂存文件的主要内容,如果未能解决你的问题,请参考以下文章