有没有办法使用libgit2创建一个git repo的新克隆?从libgit2使用指南(http://libgit2.github.com/api.html),各种示例docs(http://schacon.github.com/libgit2-examples/等)和“repository”libgit2 api docs(http://libgit2.github.com/libgit2/group__git__repository.html)和其他阅读...我只看到引用要么打开现有的git repo目录git_repository_open
,要么创建一个新的git_repository_init
。
有什么东西显而易见我错过了吗?也许api相当于“git clone GIT-REPO-URL”是git_repository_init
后跟......?
答案 0 :(得分:24)
Libgit2 确实正在进行的工作......但看起来情况正在快速发展:)
现在可以从远程存储库中获取。您可以在 this StackOverflow answer 中找到一些代码示例。
克隆功能刚刚 merged 进入libgit2存储库。
答案 1 :(得分:5)
我已将此功能贡献给libgit2的python绑定;)
现在你也可以在python中克隆。
repo_path = "git://github.com/libgit2/pygit2.git"
path = "/tmp/pygit2"
repo = clone_repository(repo_path, path)
希望它有所帮助!
答案 2 :(得分:3)
不,这还没有在libgit2中实现。据我所知,libgit2中还没有实现任何网络协议。 libgit2仍在进行中;它对于检查操作本地存储库很有用,但对于进行网络操作却没有用。目前,如果您想进行克隆(甚至是本地克隆)等网络操作,您将需要使用常规git
可执行文件。