create_from_github {usethis} | R Documentation |
Creates a new local Git repository from a repository on GitHub. It is highly
recommended that you pre-configure or pass a GitHub personal access token
(PAT), which is facilitated by browse_github_token()
. In particular, a PAT
is required in order for create_from_github()
to do "fork and clone". It is also required
by use_github()
, which connects existing local projects to GitHub.
create_from_github( repo_spec, destdir = NULL, fork = NA, rstudio = NULL, open = rlang::is_interactive(), protocol = git_protocol(), credentials = NULL, auth_token = github_token(), host = NULL )
repo_spec |
GitHub repo specification in this form: |
destdir |
The new folder is stored here. If |
fork |
If |
rstudio |
Initiate an RStudio Project?
Defaults to |
open |
If
|
protocol |
Optional. Should be "ssh" or "https", if specified. Defaults
to the option |
credentials |
A git2r credential object produced with
|
auth_token |
GitHub personal access token (PAT). |
host |
GitHub API host to use. Override with the endpoint-root for your GitHub enterprise instance, for example, "https://github.hostname.com/api/v3". |
If you are a Windows user who connects to GitHub using SSH, as opposed to HTTPS, you may need to explicitly specify the paths to your keys and register this credential in the current R session. This helps if git2r, which usethis uses for Git operations, does not automatically find your keys or handle your passphrase.
In the snippet below, do whatever is necessary to make the paths correct,
e.g., replace <USERNAME>
with your Windows username. Omit the passphrase
part if you don't have one. Replace <OWNER/REPO>
with the appropriate
GitHub specification. You get the idea.
creds <- git2r::cred_ssh_key( publickey = "C:/Users/<USERNAME>/.ssh/id_rsa.pub", privatekey = "C:/Users/<USERNAME>/.ssh/id_rsa", passphrase = character(0) ) use_git_protocol("ssh") use_git_credentials(credentials = creds) create_from_github( repo_spec = "<OWNER/REPO>", ... )
use_github()
for GitHub setup advice. git_protocol()
and
git_credentials()
for background on protocol
and credentials
.
use_course()
for one-time download of all files in a Git repo, without
any local or remote Git operations.
## Not run: create_from_github("r-lib/usethis") ## End(Not run)