Branches
- class pygit2.Repository(path: str | None = None, flags: ~pygit2.enums.RepositoryOpenFlag = <RepositoryOpenFlag.DEFAULT: 0>)
- branches
- lookup_branch(branch_name: str, branch_type: BranchType = BranchType.LOCAL) Branch
Returns the Git reference for the given branch name (local or remote). If branch_type is BranchType.REMOTE, you must include the remote name in the branch name (eg ‘origin/master’).
- raw_listall_branches(flag: BranchType = BranchType.LOCAL) list[bytes]
Return a list with all the branches in the repository.
The flag may be:
BranchType.LOCAL - return all local branches (set by default)
BranchType.REMOTE - return all remote-tracking branches
BranchType.ALL - return local branches and remote-tracking branches
Branches inherit from References, and additionally provide specialized accessors for some unique features.
- class pygit2.repository.Branches(repository: BaseRepository, flag: BranchType = <BranchType.ALL: 3>, commit=None)
- __contains__(name)
- __getitem__(name: str)
- __iter__()
- create(name: str, commit, force=False)
- delete(name: str)
- get(key: str)
- with_commit(commit)
Example:
>>> # Listing all branches
>>> branches_list = list(repo.branches)
>>> # Local only
>>> local_branches = list(repo.branches.local)
>>> # Remote only
>>> remote_branches = list(repo.branches.remote)
>>> # Get a branch
>>> branch = repo.branches['master']
>>> other_branch = repo.branches['does-not-exist'] # Will raise a KeyError
>>> other_branch = repo.branches.get('does-not-exist') # Returns None
>>> remote_branch = repo.branches.remote['upstream/feature']
>>> # Create a local branch
>>> new_branch = repo.branches.local.create('new-branch')
>>> And delete it
>>> repo.branches.delete('new-branch')
The Branch type
- class pygit2.Branch
Branch.
- branch_name
The name of the local or remote branch.
- delete()
Delete this branch. It will no longer be valid!
- is_checked_out() bool
True if branch is checked out by any repo connected to the current one, False otherwise.
- is_head() bool
True if HEAD points at the branch, False otherwise.
- raw_branch_name
The name of the local or remote branch (bytes).
- remote_name
Find the remote name of a remote-tracking branch.
This will return the name of the remote whose fetch refspec is matching the given branch. E.g. given a branch ‘refs/remotes/test/master’, it will extract the ‘test’ part. If refspecs from multiple remotes match, the function will raise ValueError.
- rename(name: str, force: bool = False)
Move/rename an existing local branch reference. The new branch name will be checked for validity. Returns the new branch.
- upstream
The branch’s upstream branch or None if this branch does not have an upstream set. Set to None to unset the upstream configuration.
- upstream_name
The name of the reference set to be the upstream of this one