## GgitBranch GgitBranch |

## Functions

void | ggit_branch_delete ()
GgitBranch * | ggit_branch_move ()
const gchar * | ggit_branch_get_name ()
GgitRef * | ggit_branch_get_upstream ()
gboolean | ggit_branch_is_head ()

## Types and Values

| GgitBranch
struct | GgitBranchClass
enum | GgitBranchType

## Object Hierarchy

        GEnum
        ╰── GgitBranchType
        GObject
        ╰── GgitObjectFactoryBase
            ╰── GgitNative
                ╰── GgitRef
                    ╰── GgitBranch

## Description

## Functions

### ggit_branch_delete ()

    void
    ggit_branch_delete (GgitBranch *branch,
                        GError **error);

Deletes an existing branch reference.

If the branch is successfully deleted, this object is not useful anymore and if should be freed with `g_object_unref()`.

#### Parameters

branch | a GgitBranch. |
error | a GError for error reporting, or `NULL`. |

### ggit_branch_move ()

    GgitBranch *
    ggit_branch_move (GgitBranch *branch,
                      const gchar *new_branch_name,
                      GgitCreateFlags flags,
                      GError **error);

Moves/renames an existing branch reference.

#### Parameters

branch | a GgitBranch. |
new_branch_name | target name of the branch once the move is performed; this name is validated for consistency. |
flags | a GgitCreateFlags. |
error | a GError for error reporting, or `NULL`. |

#### Returns

the new branch.

[transfer full]

### ggit_branch_get_name ()

    const gchar *
    ggit_branch_get_name (GgitBranch *branch,
                          GError **error);

Gets the name of the given local or remote branch.

#### Parameters

branch | a GgitBranch. |
error | a GError for error reporting, or `NULL`. |

#### Returns

the name of the given local or remote branch.

### ggit_branch_get_upstream ()

    GgitRef *
    ggit_branch_get_upstream (GgitBranch *branch,
                              GError **error);

Gets the reference supporting the remote tracking branch, given a local branch reference.

#### Parameters

branch | a GgitBranch. |
error | a GError for error reporting, or `NULL`. |

#### Returns

the reference supporting the remote tracking branch.

[transfer full][allow-none]

### ggit_branch_is_head ()

    gboolean
    ggit_branch_is_head (GgitBranch *branch,
                         GError **error);

Determines if the current local branch is pointed at by HEAD.

#### Parameters

branch | a GgitBranch. |
error | a GError for error reporting, or `NULL`. |

#### Returns

`TRUE` if the current local branch is pointed at by HEAD.

## Types and Values

### GgitBranch

    typedef struct _GgitBranch GgitBranch;

Represents a branch object.

### struct GgitBranchClass

    struct GgitBranchClass {
    };

### enum GgitBranchType

The type of a branch.

#### Members

GGIT_BRANCH_LOCAL | specifies a local branch. |
GGIT_BRANCH_REMOTE | specifies a remote branch. |