我正在尝试使用C#库libgit2sharp对我的C#代码执行git操作,但是我有一段艰难的时间来了解如何检查本地存储库的分支是远程还是远程。我对这个过程不太了解,我读过我应该先获取数据,但是我真的不想更改我的本地存储库,直到我确认是否需要进行推送或拉动才能与远程服务器保持最新状态分支。
到目前为止,我有以下代码:
public static int? IsBehind
{
get
{
using (var repo = new Repository(path)))
{
Branch master = repo.Branches["master"];
BranchTrackingDetails details = master.TrackingDetails;
Console.WriteLine(details.BehindBy);
if (details != null)
{
return details.BehindBy;
} else
{
return 0;
}
}
}
}
我想用这种方法做的事情是获取本地存储库后面的提交次数,并且确实超过了if条件,但是详细信息。在返回空行之后,我尝试了另一种使用details的方法.AheadBy和我得到相同的空白行。
那么,最好的方法是什么?我做错什么了吗?