0

我一直在修补,并阅读了我能找到的少量 Wiki 信息,并查看了我认为可能相关的测试,但是我在为一些事情想出一个可行的解决方案时遇到了问题。

大多数情况下,我正在寻找一种方法来列出在您的工作存储库/本地提交之前已推送到服务器的提交。我尝试过使用 Fetch 和 FetchHeads,但是我想,查看 Network 类的所有文档似乎并没有产生任何我能理解的东西。理想情况下,我有兴趣看到以下内容:

    IQueriableCommitLog Repository.Network.GetCommitsAhead

或者

    IQueriableCommitLog Repository.Remote.GetCommitsAhead

然后,只需像您一样使用结果:

    IQueriableCommitLog Repository.Commits

此外,也许是远程提交的 Commit.UpdateTo() 之类的方法。

对于我正在寻找的东西,我离基地太远了吗?此时是否可以执行诸如此类的操作?libgit2是否支持?

4

1 回答 1

1

大多数情况下,我正在寻找一种方法来列出在您的工作存储库/本地提交之前已推送到服务器的提交。

ABranch是本地的或远程的。跟踪其他的本地Branches 暴露一个TrackedBranch属性。

考虑具有非空属性的本地分支TrackedBranch

  • 已在此本地分支上执行且从跟踪的分支中不知道的提交。

repo.Commits.QueryBy(new Filter { Since = branch.Tip, Until = branch.TrackedBranch });

  • 存在于被跟踪分支中且本地不知道的提交

repo.Commits.QueryBy(new Filter { Since = TrackedBranch, Until = Tip })

于 2013-02-05T07:13:25.663 回答