如何在没有本地存储库的情况下使用LibGit2Sharp从网络路径获取Git Repo的分支和提交?

拉吉兰

使用LibGit2Sharp,如何在给定repo url的情况下获取所有远程分支的列表?

我在本地磁盘上没有该存储库的克隆。获取分支列表的最简单方法是什么,一旦获得分支列表,我想在自己选择的分支中获取“提交ID”列表。

如果我在本地磁盘上克隆了一个Git Repo,我确实看到了一种执行所有方法的方法,但是,我不想克隆它来获取此信息。

空令牌

使用LibGit2Sharp,如何在给定repo url的情况下获取所有远程分支的列表?

我在本地磁盘上没有该存储库的克隆。获取分支列表的最简单方法是什么

通过LibGit2Sharp,可以读取有关远程存储库的引用(主要是分支和标签)的信息,而无需对其进行克隆。这将检索这些引用的名称以及每个引用指向的提交的阴影。

这可以通过IEnumerable<Reference> ListRemoteReferences(string url)静态方法来完成这等效于git ls-remote CLI命令。

一旦获得分支机构列表,我想在自己选择的分支机构中获得Commit Id的列表。

不幸的是,ListRemoteReferences()只会返回每个分支的尖端。您是否需要枚举此分支引用的其他提交,仅使用LibGit2Sharp,就必须在本地克隆远程存储库。

作为替代方法,而不是克隆方法,一旦掌握了技巧的SHA,您可以利用Commit GitHub API,并针对每个提交检索其父代,然后递归地重新应用每个API的调用。请注意,这最后一个选项的性能要差得多(网络I / O,API速率限制等)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用LibGit2Sharp库获取特定选定分支的存储库名称

Git refspec用于从远程获取所有内容,但保留本地提交(LibGit2Sharp)

Git:如何在没有重复的PR合并提交的情况下同步我的本地和上游存储库?

如何使用LibGit2Sharp获取当前分支?

git分支和提交混乱

如何在没有提交或挂钩的情况下获取网络表单标题和类别?

LibGit2Sharp CheckoutPaths()可以在不指定分支的情况下还原文件

如何在不更改主分支的情况下更改本地 git 存储库的功能分支?

如何获取包含libgit2sharp中的提交的远程分支的列表

如何查看本地分支和以前的提交

检查两个 GitHub 分支是否在没有本地 git repo 的情况下“偶数”?

清理不需要的提交和无关分支的Git分支

如何使用libgit2sharp创建一个从本地到远程的新分支?

Libgit2sharp获取远程分支

如何提交和推送libgit2sharp

如何找到git commit所在的分支?(使用libgit2sharp)

如何使用libgit2sharp将文件递归添加到master git分支

如何使用libgit2sharp忽略合并提交?

如何在没有主键的情况下创建Spring实体和存储库

如何在没有提交消息的情况下获取git日志

如何在不使用JGit下载到本地系统的情况下获取所有提交?

如何检测在LibGit2Sharp中已创建分支的提交

是否可以从Git分支(本地和远程)删除特定的提交?

完全替换GitHub存储库,分支和提交

如何高效配置 Azure DevOps repo 策略和分支权限?

在不丢失新的本地分支和提交的情况下将 git local 重新连接到 GitHub 远程

检查 git repo 的任何分支中是否有未提交的更改

创建一个本地分支以使用libgit2sharp跟踪远程分支

我有一个远程源分支。在本地我有一个主分支和测试分支。如何在不提交的情况下拉到测试分支?