c++ - 使用 libgit2 获取未推送的提交

标签 c++ c git version-control libgit2

有没有办法用 libgit 2 显示所有可用分支的所有未推送提交。我的想法是使用 git_revparse(&spec, repo, "origin/master..master");但这给了我一个 git_revspec 并且我不知道如何使用它来迭代所有提交。另一个问题是此方法仅适用于特定分支。

最佳答案

使用 git_branch_iterator 函数获取所有本地分支,使用 git_branch_upstream 获取它们对应的上游分支。然后使用 git_revwalk 函数遍历它们之间不同的所有提交。使用 git_revwalk_push_ref 推送上游并使用 git_revwalk_hide_ref stash 本地分支。

关于c++ - 使用 libgit2 获取未推送的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42131934/

相关文章:

c++ - WinSock c++ inet_ntop 总是显示 204.204.204.204(并且 accept() 没有失败)

c++ - 在 C++14 中使用 auto 作为返回和参数类型

c++ - “ future ”已在此处明确标记为已删除

python - 如何将 FANN 保存为字符串?

git - 有没有办法告诉 Jenkins 在克隆 Git 存储库方面取得了多大进展?

git - 我怎样才能看到我之前在哪个分支

c++ - C++ 标准是否保证字符串文字原封不动地存储在程序二进制文件中?

c++ - 如何在 C++ 和 Qt 中使用运行时加载的库

c - 使用 strcpy 进行冒泡排序

ios - Xcode 机器人 : cloning multiple repositories before build