######## Branches ######## References ---------- * v4 API: + :class:`gitlab.v4.objects.ProjectBranch` + :class:`gitlab.v4.objects.ProjectBranchManager` + :attr:`gitlab.v4.objects.Project.branches` * GitLab API: https://docs.gitlab.com/ce/api/branches.html Examples -------- Get the list of branches for a repository:: branches = project.branches.list() Get a single repository branch:: branch = project.branches.get('master') Create a repository branch:: branch = project.branches.create({'branch': 'feature1', 'ref': 'master'}) Delete a repository branch:: project.branches.delete('feature1') # or branch.delete() Protect/unprotect a repository branch:: branch.protect() branch.unprotect() .. note:: By default, developers are not authorized to push or merge into protected branches. This can be changed by passing ``developers_can_push`` or ``developers_can_merge``: .. code-block:: python branch.protect(developers_can_push=True, developers_can_merge=True) Delete the merged branches for a project:: project.delete_merged_branches()