简体   繁体   中英

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?

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

It depends on your OS but you should use a credential helper in order to cache the password (or token if you have 2FA activated ) in it.

This is assuming your are trying to pull from a private repository.

On Windows, for example, that would be " manager ", and you can cache your credentials with git credential fill .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM