Как зафиксировать и отправить файлы, используя библиотеку Python GitPython - PullRequest
5 голосов
/ 05 июня 2019

Требования:

  • Зафиксируйте и отправьте файлы в репозиторий GitHub из скрипта Python.
  • Учетные данные должны быть включены в скрипт.

Проблема:

  • Если в сценарии указаны учетные данные, операция фиксации будет выполняя и выбрасывая следующую ошибку,
Traceback (most recent call last):
  File "/home/amith/example.py", line 14, in <module>
    repo.index.add(folder_path)
AttributeError: 'Repository' object has no attribute 'index'
  • Если учетные данные есть, не , предоставленные в сценарии, операция фиксации работает правильно, предоставляя ее на терминале.

Мне нужно интегрировать этот скрипт в приложение Django, которое должно принимать учетные данные из файла конфигурации.

Я попробовал следующие ссылки, но у меня пока ничего не получалось. - ссылка1 - ссылка2 - ссылка3

from git import Repo
from github import Github
from pdb import set_trace as bp

repo_dir = '--------'
repo = Repo(repo_dir)

# using username and password

g = Github("-----", "------")
folder_path = '----------'
commit_message = 'Add New file'
repo.index.add(folder_path)
repo.index.commit(commit_message)
origin = repo.remote('origin')
origin.push()

Итак, я получаю эту ошибку "AttributeError: у объекта 'Repository' нет атрибута 'index'".

Полная ошибка -

Traceback (most recent call last):
  File "/home/amith/example.py", line 14, in <module>
    repo.index.add(folder_path)
AttributeError: 'Repository' object has no attribute 'index'
...