Set credentials to pull from local git repository with PythonGit

760 Views Asked by At

I have a git repository on an internal server and now want to have a scheduled task that automatically pulls changes to my local version. Found the GitPython package, which seems to be exactly what I need, but can't get it to work due to the password protection of the repo.

I have already cloned the repo to my local path (git clone git@LOCAL_IP:/repo/MY_GIT.git .) and will get prompted for the password every time I execute git pull from the command line (fair enough). According to How can I call 'git pull' from within Python?, I then tried exactly this

import git
g = git.cmd.Git(MY_LOCAL_PATH)
g.pull()

and (of course) get an error:

...
git.exc.GitCommandError: Cmd('git') failed due to: exit code(1)
  cmdline: git pull
  stderr: 'Permission denied, please try again.
Permission denied, please try again.
...

Unfortunately, from the many answers around the web dealing with PythoGit, I found none that tells me how I can set the password (I know that you should never ever hardcode passwords, but still...).

1

There are 1 best solutions below

3
On

You can save credentials within git so that every git client can access them and won't ask the user. See How can I save username and password in Git? for details on how to do that.