GitPython no aparece nada en la copy de trabajo después de tirar

Soy nuevo en PythonGit y tengo problemas para tirar y empujar. Creé un repository localmente vacío y le envié un compromiso inicial. Después de eso, traté de iniciar un nuevo repository de usuarios usando PythonGit, searchlo y extraerlo de él. No tengo ningún problema con inicializar el repository pero no puedo get nada desde el repository remoto / simple. Mi código:

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() 

En la console de ipython para search y extraer obtengo:

 In [5]: origin.fetch() Out[5]: [<git.remote.FetchInfo at 0x7f4a4d6ee630>] 

para search y

 In [6]: origin.pull() Out[6]: [<git.remote.FetchInfo at 0x7f4a4d6e6ee8>] 

para tirar. Después de la acción de extracción, no se tira nada y el repository aún está vacío, pero existe. ¿Qué estoy haciendo mal?

pull() no hace nada ya que el master ya está en su compromiso de destino, el apuntado por origin/master .

Este código funcionará como se espera:

 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() 

No sé cómo resolver correctamente este problema, pero la única idea es decir fóbica para restablecer el repository duro después de create_head.

 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() repo.head.reset('--hard') 

Después de eso, todas las tiradas adicionales deberían funcionar correctamente.