Как я могу нажать на удаленный с Pygit2?

Я хочу клонировать репозиторий, изменить файл и отправить этот измененный файл обратно в исходную ветку. Я могу клонировать репо с

repo = pygit2.clone_repository(repo_url, local_dir, checkout_branch="test_it")

но что мне нужно сделать сейчас, чтобы отправить изменения на пульт? Я хочу зафиксировать изменения только для одного конкретного файла, даже если изменилось больше файлов.

Надеюсь, кто-нибудь может мне помочь. ТИА

1 ответ

Только первый этап file_path:

# stage 'file_path'
index = repository.index
index.add(file_path)
index.write()

Затем сделайте коммит:

# commit data
reference='refs/HEAD'
message = '...some commit message...'
tree = index.write_tree()
author = pygit2.Signature(user_name, user_mail)
commiter = pygit2.Signature(user_name, user_mail)
oid = repository.create_commit(reference, author, commiter, message, tree, [repository.head.get_object().hex])

и последний push репо, как описано в Unable to ssh push в pygit2

Другие вопросы по тегам