在使用 pygit2 库时,一个简单的 repo.fetch() 会获取所有差异。这里的答案描述了步骤,即
1. Remote.fetch()
2.Repository.create_reference()
或Reference.target=
3。Repository.checkout_head()
我不确定第二步幕后发生了什么以及需要传递哪些参数。
r.repo.create_reference: (self, name, target, force=False)
创建一个指向一个对象或另一个
引用的新引用“名称”。该方法根据目标参数的类型和值,尝试
猜测它是直接引用还是符号引用。关键字参数:
force
如果 True 引用将被覆盖,否则(默认)引发
异常。例子::
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()
动作的呢?