Как вытащить определенную ветку из вышестоящего репозитория

Предположим, у меня есть локальный клон git под названием GitPython. Я могу зафиксировать и нажать с помощью gitpython:

repo = Repo(D:\Dev\Gitpython)
print(repo.git.add("."))
print(repo.git.commit(m='my commit message'))
print(repo.git.push())

Однако как я могу получить данные из вышестоящего репозитория с помощью gitpython? Я попытался создать удаленный объект с помощью Repo.create_remote(), но это выдает ошибку, поскольку удаленный объект уже существует.


person Fengeey    schedule 15.03.2017    source источник


Ответы (1)


Поскольку соединение уже существует, вы должны быть в состоянии тянуть.

repo = git.Repo('repo_name')
o = repo.remotes.origin
o.pull()


o = repo.remotes.origin
o.fetch('branch_name')
person Arthur Decker    schedule 15.03.2017
comment
Спасибо Артур, твой код работает. Но как мне вытащить конкретную ветку? - person Fengeey; 16.03.2017
comment
@PatrickYu, чтобы получить из определенной ветки, используйте o.pull('name-of-branch') - person janos; 16.03.2017
comment
@PatrickYu, вы также можете использовать 'repo.remotes.origin.fetch('branch_name')' - person Arthur Decker; 16.03.2017