Checkout or list remote branches in GitPython
To list branches you can use:
from git import Repo
r = Repo(your_repo_path)
repo_heads = r.heads # or it's alias: r.branches
r.heads
returns git.util.IterableList
(inherits after list
) of git.Head
objects, so you can:
repo_heads_names = [h.name for h in repo_heads]
And to checkout eg. master
:
repo_heads['master'].checkout()
# you can get elements of IterableList through it_list['branch_name']
# or it_list.branch_name
Module mentioned in the question is GitPython
which moved from gitorious
to Github.
For those who want to just print the remote branches:
# Execute from the repository root directory
repo = git.Repo('.')
remote_refs = repo.remote().refs
for refs in remote_refs:
print(refs.name)