---
name: "Git::Raw::Branch"
section: "3pm"
platform: "linux"
package: "libgit-raw-perl"
version: "0.90+ds-3+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Git::Raw::Branch"
---

# Git::Raw::Branch(3pm)

Git branch class

## NAME

Git::Raw::Branch - Git branch class

## VERSION

version 0.90

## SYNOPSIS

```
    use Git::Raw;
    # open the Git repository at $path
    my $repo = Git::Raw::Repository -> open($path);
    # create a new branch named 'some_branch'
    $repo -> branch('some_branch', $repo -> head -> target);
```

## DESCRIPTION

Helper class for branch manipulation. Note that a Git branch is nothing more than a Git::Raw::Reference, so this class inherits all methods from it.

**WARNING**: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).

## METHODS

### create( $repo, $name, $target )

Create a new branch given a name and a target object (either a Git::Raw::Commit or a Git::Raw::Tag).

### lookup( $repo, $name, $is\_local )

Retrieve the branch corresponding to the given branch name.

### move( $name, $force )

Rename the branch to `$name`. Note that in order to get the updated branch object, an additional `"Git::Raw::Branch->lookup()"` is needed.

### upstream( \[$upstream\] )

Retrieve or set the reference supporting the remote tracking branch, given the local branch. If there is no corresponding supporting reference, this function will return `"undef"`. `$upstream` may either be a Git::Raw::Reference, a string containing the upstream reference name or `"undef"`. If `$upstream` is set to `"undef"`, the remote tracking branch association is removed.

### upstream\_name( )

Return the name of the reference supporting the remote tracking branch, given the the local branch. If there is no associated remote tracking branch, this function will return `"undef"`.

### remote\_name( )

Return the name of remote that the remote tracking branch belongs to, given the local branch. If there is no associated remote tracking branch, this function will return `"undef"`.

### is\_head( )

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

## AUTHOR

Alessandro Ghedini \<alexbio@cpan.org\>

Jacques Germishuys \<jacquesg@cpan.org\>

## LICENSE AND COPYRIGHT

Copyright 2012 Alessandro Ghedini.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.
