#python #git #git-pull #gitpython #pygit2
#python #git #git-pull #gitpython #pygit2
Вопрос:
Я пытаюсь извлечь файлы из git с помощью python, но это не работает. Ниже приведен код, который я использовал:
import git
git.cmd.Git().pull('https://github.com/User/repo','master')
он запрашивает аутентификацию и после этого завершается.
Может кто-нибудь, пожалуйста, помочь мне здесь? что не так с этим кодом?
Ответ №1:
Первым шагом является создание git.Repo
объекта для представления вашего репозитория.
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
В приведенном выше примере каталог self.rorepo.working_tree_dir
равен /Users/mtrier/Development/git-python
и является моим рабочим репозиторием, который содержит .git
каталог. Вы также можете инициализировать GitPython
с помощью простого репозитория.
Это то, о чем вы просили :
repo = git.Repo('repo_name')
o = repo.remotes.origin
o.pull()
Комментарии:
1. Я получил ошибку атрибута: у IterableList нет источника атрибута
Ответ №2:
Это зависит от вашей ОС, но вы должны использовать помощник по учетным данным, чтобы кэшировать в нем пароль (или токен, если у вас активирован 2FA).
Это предполагает, что вы пытаетесь извлечь данные из частного репозитория.
В Windows, например, это будет « manager
«, и вы можете кэшировать свои учетные данные с git credential fill
помощью .
Комментарии:
1. Да, но после предоставления учетных данных он должен git pull, но я не вижу никаких изменений в моей папке
2. @ZZ3111 Затем протестируйте его с помощью git напрямую, чтобы увидеть, возникает ли такая же проблема.