R: Push

push {git2r} | R Documentation

## Push

### Description

Push

### Usage

    push(object = ".", name = NULL, refspec = NULL, force = FALSE,
      credentials = NULL, set_upstream = FALSE)

### Arguments

`object` | path to repository, or a `git_repository` or `git_branch`.
`name` | The remote's name. Default is NULL.
`refspec` | The refspec to be pushed. Default is NULL.
`force` | Force your local revision to the remote repo. Use it with care. Default is FALSE.
`credentials` | The credentials for remote repository access. Default is NULL. To use and query an ssh-agent for the ssh key credentials, let this parameter be NULL (the default).
`set_upstream` | Set the current local branch to track the remote branch. Default is FALSE.

### Value

invisible(NULL)

### See Also

`cred_user_pass`, `cred_ssh_key`

### Examples

    ## Not run:
    ## Initialize two temporary repositories
    path_bare <- tempfile(pattern="git2r-")
    path_repo <- tempfile(pattern="git2r-")
    dir.create(path_bare)
    dir.create(path_repo)
    repo_bare <- init(path_bare, bare = TRUE)

    ## Clone the bare repository. This creates remote-tracking
    ## branches for each branch in the cloned repository.
    repo <- clone(path_bare, path_repo)

    ## Config user and commit a file
    config(repo, user.name="Alice", user.email="alice@example.org")

    ## Write to a file and commit
    writeLines("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do",
               file.path(path_repo, "example.txt"))
    add(repo, "example.txt")
    commit(repo, "First commit message")

    ## Push commits from repository to bare repository
    push(repo, "origin", "refs/heads/master")

    ## Now, unset the remote-tracking branch to NULL to demonstrate
    ## the 'set_upstream' argument. Then push with 'set_upstream = TRUE'
    ## to add the upstream tracking branch to branch 'master' again.
    branch_get_upstream(repository_head(repo))
    branch_set_upstream(repository_head(repo), NULL)
    branch_get_upstream(repository_head(repo))
    push(repo, "origin", "refs/heads/master", set_upstream = TRUE)
    branch_get_upstream(repository_head(repo))

    ## Change file and commit
    writeLines(c("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do",
                 "eiusmod tempor incididunt ut labore et dolore magna aliqua."),
               file.path(path_repo, "example.txt"))
    add(repo, "example.txt")
    commit(repo, "Second commit message")

    ## Push commits from repository to bare repository
    push(repo)

    ## List commits in repository and bare repository
    commits(repo)
    commits(repo_bare)

    ## End(Not run)

[Package git2r version 0.25.1 Index]