4

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

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

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

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

4

1 回答 1

7

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

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

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

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

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

  • libgit2 邮件列表(通过 libgit2@librelist.com)
  • libgit2问题跟踪器

更新

克隆功能刚刚合并到 libgit2 存储库中。

作为拉取请求的一部分,作者还负责为用户提供结帐实现。

于 2011-12-18T17:55:26.263 回答