Skip to content

Instantly share code, notes, and snippets.

@z3tt
Last active November 6, 2024 02:59
Show Gist options
  • Save z3tt/3dab3535007acf108391649766409421 to your computer and use it in GitHub Desktop.
Save z3tt/3dab3535007acf108391649766409421 to your computer and use it in GitHub Desktop.
Configure GitHub for Rstudio
#### 1. Sign up at GitHub.com ################################################
## If you do not have a GitHub account, sign up here:
## https://github.com/join
# ----------------------------------------------------------------------------
#### 2. Install git ##########################################################
## If you do not have git installed, please do so:
## Windows -> https://git-scm.com/download/win
## Mac -> https://git-scm.com/download/mac
## Linux -> https://git-scm.com/download/linux
## or: $ sudo dnf install git-all
# ----------------------------------------------------------------------------
### 3. Configure git with Rstudio ############################################
## set your user name and email:
usethis::use_git_config(user.name = "YourName", user.email = "[email protected]")
## create a personal access token for authentication:
usethis::create_github_token()
## in case usethis version < 2.0.0: usethis::browse_github_token() (or even better: update usethis!)
## Note for Linux users:
## credentials::set_github_pat() (in line 34) might store your PAT in a memory cache that
## expires after 15 minutes or when the computer is rebooted. You thus may wish to do
## extend the cache timeout to match the PAT validity period:
usethis::use_git_config(helper="cache --timeout=2600000") #> cache timeout ~30 days
## set personal access token:
credentials::set_github_pat("YourPAT")
## or store it manually in '.Renviron':
usethis::edit_r_environ()
## store your personal access token in the file that opens in your editor with:
## GITHUB_PAT=xxxyyyzzz
## and make sure '.Renviron' ends with a newline
# ----------------------------------------------------------------------------
#### 4. Restart R! ###########################################################
# ----------------------------------------------------------------------------
#### 5. Verify settings ######################################################
usethis::git_sitrep()
## Your username and email should be stated correctly in the output.
## Also, the report shoud cotain something like:
## 'Personal access token: '<found in env var>''
## If you are still having troubles, read the output carefully.
## It might be that the PAT is still not updated in your `.Renviron` file.
## Call `usethis::edit_r_environ()` to update that file manually.
# ----------------------------------------------------------------------------
## THAT'S IT!
@bentonelli
Copy link

Very helpful, thanks!!

@anastasia-radeva
Copy link

Glad I found this relatively early. These kinds of setups take hours sometimes. Thank you!

@grady
Copy link

grady commented Oct 13, 2023

Under default settings on Linux, credentials::set_github_pat might store your PAT in a memory cache that expires after 15 minutes (or when the computer is rebooted), potentially leading to a great deal of frustration shortly later.

Linux users may wish to do either extend the cache timeout to match the PAT validity period

usethis::use_git_config(helper="cache --timeout=2600000") #cache timeout ~30 days

or configure one of the alternative methods that stores the PAT to disk (store or libsecret based solutions).

@z3tt
Copy link
Author

z3tt commented Oct 16, 2023

Thank you @grady , I#ve added a note to the gist!

@grady
Copy link

grady commented Oct 19, 2023

@z3tt To be effective, the config change to the cache settings needs to occur before setting the PAT. (currently line 28)

@z3tt
Copy link
Author

z3tt commented Oct 19, 2023

Thanks @grady, I have updated the snippet aaccordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment