Pygit2是对libgit2的Python封装,提过简洁的接口访问对象中的各种属性,执行对仓库的各种操作。libgit2是Git的共享程序库,相对于作为一个独立程序应用的Git,libgit2去掉了其中复杂的优化和非核心的功能,更简单,更纯粹。
一些常用的接口:
pygit2提供了一些常用的对仓库的直接操作,如
初始化一个repo
pygit2.init_repository(path, bare=False, flags=16, mode=0, workdir_path=None, description=None, template_path=None, initial_head=None, origin_url=None)
pygit2.clone_repository(url, path, bare=False, ignore_cert_errors=False, remote_name='origin', checkout_branch=None, credentials=None)
除此之外,还可以通过操作Repository对象来完成对仓库的操作。Repository提供repo的属性和操作,常见的如:
Repository.path
Repository.workdir
Repository.reset(oid, reset_type)
获取git对象:
Repository.get(key, default=None)
获取仓库所有refs:
Repository.listall_references() → [str, ...]
Repository.lookup_reference(name) → Reference
Repository.create_branch(name, commit, force=False) → bytes
解析revision
Repository.revparse_single(revision) → Object
遍历历史
Repository.walk(oid[, sort_mode]) → iterator