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.
wflow_git_push(
remote = NULL,
branch = NULL,
username = NULL,
password = NULL,
force = FALSE,
set_upstream = TRUE,
view = getOption("workflowr.view"),
dry_run = FALSE,
project = "."
)
character (default: NULL). The name of the remote repository. See Details for the default behavior.
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.
character (default: NULL). Username for online Git hosting service (e.g. GitHub or GitLab). The user is prompted if necessary.
character (default: NULL). Password for online Git hosting service (e.g. GitHub or GitLab). The user is prompted if necessary.
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
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
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")
.
logical (default: FALSE). Preview the proposed action but do not actually push to the remote repository.
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.
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"
.
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.
if (FALSE) {
# Push to remote repository
wflow_git_push()
# Preview by running in dry run mode
wflow_git_push(dry_run = TRUE)
}