I am using gitpython to clone a git repository over HTTPS. If the project is a private repo, it will prompt for username and password. How do I interact with the prompt pythonically to pass username and password variables ?
from git import Repo
HTTPS_REMOTE_URL = 'https://github.com/username/private-project'
DEST_NAME = 'https-cloned-private-project'
cloned_repo = Repo.clone_from(HTTPS_REMOTE_URL, DEST_NAME)
Output of running this code:
$ python example.py
Username for 'https://github.com': example
Password for 'https://example@github.com':
I know it's possible to include the username and password in the URL:
HTTPS_REMOTE_URL = 'https://username:password@github.com/username/private-project'
However, I have no way of knowing ahead of time if this is a private repo.
Yes! We can do that following these steps: Create a new Blank Project instead of Clone. Click the 'Configure Git' button and use the existing private repo for the git remote.
it works for me when using github access token instead of username and password where 2FA may be required:
HTTPS_REMOTE_URL = 'https://<access_token>:x-oauth-basic@github.com/username/private-project'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With