我是 PythonGit 新手,在拉取和推送方面遇到了问题。我创建了本地裸仓库并向其推送了初始提交。之后,我尝试使用 PythonGit 初始化新用户仓库,获取并从中拉取。初始化仓库没有问题,但是我无法从远程/裸仓库获取任何东西。我的代码:
import git repo = git.Repo.init('.') origin = repo.create_remote('origin', '/home/paweber/git/my-repo.git') origin.fetch() repo.create_head('master', origin.refs.master).set_tracking_branch(origin.refs.master) origin.pull()
在 ipython 控制台中进行获取和拉取时我得到:
In [5]: origin.fetch() Out[5]: [<git.remote.FetchInfo at 0x7f4a4d6ee630>]
获取并
In [6]: origin.pull() Out[6]: [<git.remote.FetchInfo at 0x7f4a4d6e6ee8>]
用于拉取。拉取操作后,什么都没拉取,并且 repo 仍为空但存在。我做错了什么?
pull()不执行任何操作,因为master已经位于其目标提交处,即 指向的提交处origin/master。
pull()
master
origin/master
该代码将按预期工作:
import git repo = git.Repo.init('.') origin = repo.create_remote('origin', '/home/paweber/git/my-repo.git') origin.fetch() # the HEAD ref usually points to master, which is 'yet to be born' repo.head.ref.set_tracking_branch(origin.refs.master) origin.pull()