wflow_git_pull
pulls the remote files from your remote repository
online (e.g. GitHub or GitLab) into your repository on your local machine.
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
pull
in the Terminal.
wflow_git_pull(
remote = NULL,
branch = NULL,
username = NULL,
password = NULL,
fail = TRUE,
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 in the remote
repository to pull from. 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: TRUE) Abort the pull if any merge conflicts
are detected. If you are sure you want to manually cleanup the merge
conflicts, set fail = FALSE
. The argument fail
is passed to
the git2r function merge.git_repository
.
logical (default: FALSE). Preview the proposed action but do not actually pull from 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_pull
, 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).
merge_result: The git_merge_result
object returned by
git2r (only included if dry_run == FALSE
).
fail: The input argument fail
.
dry_run: The input argument dry_run
.
protocol: The authentication protocol for the remote repository
(either "https"
or "ssh"
.
project: The input argument project
.
wflow_git_pull
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_pull
checks to see if the current local branch is tracking a
remote branch. If yes, it pulls 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_pull
is a wrapper for
pull
from the package git2r.
if (FALSE) {
# Pull from remote repository
wflow_git_pull()
# Preview by running in dry run mode
wflow_git_pull(dry_run = TRUE)
}