Search code examples
pythongitgit-pullgitpythonpygit2

how to use git pull with GitPython?


I am trying to pull filesfrom git using python but it's not working. Below is the code I was using:

import git 
git.cmd.Git().pull('https://github.com/User/repo','master') 

it asks for authentication and after that terminates.

Could someone please help me here? what's wrong with this code?


Solution

  • The first step is to create a git.Repo object to represent your repository.

    from git import Repo
    
    # rorepo is a Repo instance pointing to the git-python repository.
    # For all you know, the first argument to Repo is a path to the repository
    # you want to work with
    repo = Repo(self.rorepo.working_tree_dir)
    assert not repo.bare
    
    

    In the above example, the directory self.rorepo.working_tree_dir equals /Users/mtrier/Development/git-python and is my working repository which contains the .git directory. You can also initialize GitPython with a bare repository.

    This is what you asked for :

    
     repo = git.Repo('repo_name')
     o = repo.remotes.origin
     o.pull()