git - 如何使用 libgit2 克隆/获取 git 存储库?

标签 git libgit2

我需要初始化一个 git 存储库并将最新版本的分支提取到其中。在 bash 中,命令是:

git init
git remote add -t $BRANCH -f origin $REMOTE

我正在尝试使用 libgit2 以编程方式执行相同的操作,但无法找到第二行的等效项。创建远程的调用很明显,但我没有看到任何将其添加到存储库或处理分支的调用。

是否可以用 libgit2 做到这一点?如果没有,是否有图书馆能够做到这一点?

最佳答案

可以找到描述如何在 libgit2 中实现获取过程的高级步骤 here .

您可以找到执行此类任务的代码示例 here here 。请注意,随着 API 的发展,这些示例可能会有点不同步。

请注意,这些代码片段将从上游定义的远程检索所有较新的提交(分支只是指向特定提交的指针)。

到今天为止,还没有办法在 libgit2 中执行 checkout 。

如果您需要更多帮助,我会推荐这两个地方:

  • libgit2 邮件列表(通过 libgit2@librelist.com)
  • libgit2 issue tracker

更新

克隆功能刚刚 merged 进入 libgit2 存储库。

作为 pull 请求的一部分,作者还负责为用户提供 checkout 实现。

关于git - 如何使用 libgit2 克隆/获取 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8551169/

相关文章:

python - 查找目录中每个子文件夹的第一个和最后一个提交

python - pygit2 Blob 历史

git - 如何从 GitHub API 获取最后一次提交

git - 使用 git 时组织多个项目的最佳方式是什么

git - 我如何找到 Git 仓库的版本

git - libgit2sharp 中可以进行 merge 吗?

git - 使用 VS 2015 Update 3 (TFS 2015 Update 3) 克隆远程存储库时遇到错误

c++ - 使用 libgit2 从 git 存储库中删除文件

ios - 如何编译 libgit2 并创建 xcode 使用的静态库

java - Jenkins上的Maven部署文件错误