wflow_git_push: Push files to remote repository

View source: R/wflow_git_push.R

wflow_git_pushR Documentation

Push files to remote repository

Description

wflow_git_push pushes the local files on your machine to your remote repository on a remote Git hosting service (e.g. GitHub or GitLab). This is a convenience function to run Git commands from the R console instead of the Terminal. The same functionality can be achieved by running git push in the Terminal.

Usage

wflow_git_push(
  remote = NULL,
  branch = NULL,
  username = NULL,
  password = NULL,
  force = FALSE,
  set_upstream = TRUE,
  view = getOption("workflowr.view"),
  dry_run = FALSE,
  project = "."
)

Arguments

remote

character (default: NULL). The name of the remote repository. See Details for the default behavior.

branch

character (default: NULL). The name of the branch to push to in the remote repository. If NULL, the name of the current local branch is used.

username

character (default: NULL). Username for online Git hosting service (e.g. GitHub or GitLab). The user is prompted if necessary.

password

character (default: NULL). Password for online Git hosting service (e.g. GitHub or GitLab). The user is prompted if necessary.

force

logical (default: FALSE). Force the push to the remote repository. Do not use this if you are not 100% sure of what it is doing. Equivalent to: git push -f

set_upstream

logical (default: TRUE). Set the current local branch to track the remote branch if it isn't already tracking one. This is likely what you want. Equivalent to: git push -u remote branch

view

logical (default: getOption("workflowr.view")). Open the URL to the repository in the browser. Ignored if dry_run = TRUE. Also note that this only works if the option browser is set, which you can check with getOption("browser").

dry_run

logical (default: FALSE). Preview the proposed action but do not actually push to the remote repository.

project

character (default: ".") By default the function assumes the current working directory is within the project. If this is not true, you'll need to provide the path to the project directory.

Details

wflow_git_push tries to choose sensible defaults if the user does not explicitly specify the remote repository and/or the remote branch:

  • If both remote and branch are NULL, wflow_git_push checks to see if the current local branch is tracking a remote branch. If yes, it pushes to this tracked remote branch.

  • If the argument remote is left as NULL and there is only one remote, it is used. If there is more than one remote, the one named "origin" is used.

  • If the argument branch is left as NULL, the name of the current local branch is used (referred to as HEAD by Git).

Under the hood, wflow_git_push is a wrapper for push from the package git2r.

Value

An object of class wflow_git_push, which is a list with the following elements:

  • remote: The remote repository.

  • branch: The branch of the remote repository.

  • username: Username for online Git hosting service (e.g. GitHub or GitLab).

  • force: The input argument force.

  • set_upstream: The input argument set_upstream.

  • view: The input argument view.

  • dry_run: The input argument dry_run.

  • protocol: The authentication protocol for the remote repository (either "https" or "ssh".

Examples

## Not run: 

# Push to remote repository
wflow_git_push()
# Preview by running in dry run mode
wflow_git_push(dry_run = TRUE)

## End(Not run)


jdblischak/workflowr documentation built on Feb. 27, 2024, 4:37 p.m.