C.23 GitPushTask
Prev | Appendix C. Optional tasks | Next

## C.23 GitPushTask

Update remote refs along with associated objects. See official documentation.

Table C.24: Attributes

Name | Type | Description | Default | Required
--- | --- | --- | --- | ---
`gitPath` | `String` | Path to Git binary | /usr/bin/git | No
`repository` | `String` | Path to Git repository | n/a | Yes
`all` | `Boolean` | Push all references | `false` | No
`destination` | `String` | The "remote" repository that is destination of a push operation. See <repository> in git-push. | origin | Yes, if allRemotes set to false
`refspec` | `String` | See <refspec> in git-push. | n/a | No
`mirror` | `Boolean` | See --mirror in git-push. | `false` | No
`delete` | `Boolean` | Delete "remote" reference. Same as prefixing the refspec with colon. See --delete in git-push. | `false` | No
`tags` | `Boolean` | Push all references under refs/tags. See --tags in git-push. | `false` | No
`quiet` | `Boolean` | Quiet, suppress feedback messages. See --quiet in git-push. | `false` | No
`force` | `Boolean` | Force update. See --force in git-push. | `false` | No

### C.23.1 Example

    <property name="repo.dir" value="./relative/path/to/repo" />
    <resolvepath propertyName="repo.dir.resolved" file="${repo.dir}" />

    <!-- clone repository -->
    <gitclone
        repository="git://github.com/path/to/repo/repo.git"
        targetPath="${repo.dir.resolved}" />

    <!-- push branch "master" into "foobranch" on "origin" remote -->
    <gitpush
        repository="${repo.dir.resolved}"
        refspec="master:foobranch" tags="true" />

    <!-- create new branch "newbranch" on "origin" remote -->
    <gitpush
        repository="${repo.dir.resolved}"
        refspec="master:newbranch" quiet="true" />

    <!-- delete "newbranch" branch from "origin" remote -->
    <gitpush
        repository="${repo.dir.resolved}"
        delete="true"
        refspec="newbranch" quiet="true" />

Prev | Up | Next
C.22 GitPullTask | Home | C.24 GitTagTask