【发布时间】:2014-08-30 00:37:08
【问题描述】:
使用 pygit2 库时,一个简单的 repo.fetch() 会获取所有差异。
答案here 描述了步骤即
1.Remote.fetch()
2.Repository.create_reference()或Reference.target=
3.Repository.checkout_head()
我不确定第二步的幕后情况以及需要传递哪些参数。
r.repo.create_reference: (self, name, target, force=False)
创建一个指向一个对象或另一个对象的新引用“名称”
参考。根据目标参数的类型和值,该方法尝试
猜测它是直接引用还是符号引用。关键字参数:
强制
如果 True 引用将被覆盖,否则(默认)an
引发异常。例子::
repo.create_reference('refs/heads/foo', repo.head.target)
repo.create_reference('refs/tags/foo', 'refs/heads/master')
repo.create_reference('refs/tags/foo', 'bbb78a9cec580')
第二步发生了什么以及Reference.target=是什么意思
它应该指向哪里?
而这一切又是如何使用Remote.fetch() 操作的?
【问题讨论】: