我一直在修修补补,阅读我能找到的小维基信息,并查看我认为可能相关的测试,但是我遇到了一些问题,想出了一些可行的解决方案。
大多数情况下,我正在寻找一种方法来列出在工作存储库/本地提交之前已经推送到服务器的提交。我已经尝试过使用Fetch和FetchHeads,但是查看Network类的所有文档似乎并没有产生任何我能理解的东西,我猜。理想情况下,我有兴趣看到类似的东西:
IQueriableCommitLog Repository.Network.GetCommitsAhead
OR
IQueriableCommitLog Repository.Remote.GetCommitsAhead
然后,只需使用您的结果:
IQueriableCommitLog Repository.Commits
此外,也许是一个类似于远程提交的Commit.UpdateTo()方法。
我是否因为我正在寻找的东西太远了?此时是否可以执行此操作?是否受libgit2支持?
答案 0 :(得分:1)
大多数情况下,我正在寻找一种方法来列出在工作存储库/本地提交之前已经推送到服务器的提交。
Branch
是本地的或远程的。跟踪其他人的本地Branch
会公开TrackedBranch
属性。
考虑使用非TrackedBranch
属性的本地分支
repo.Commits.QueryBy(new Filter { Since = branch.Tip, Until = branch.TrackedBranch });
repo.Commits.QueryBy(new Filter { Since = TrackedBranch, Until = Tip })