#### 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 = "your@mail.com") | |
## 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!) | |
## 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! |
@mansimodi This simply means your PAT is wrong, maybe you missed a digit or copied a white space?
@sanjmeh I am not an expert here but it could likely be a bit outdated since it's ~1 year old.
Many Thanks for the steps, it worked well.
Hi, on the last step, the output did not show the PAT for me. Could you please then show how to do commit from RStudio after doing this PAT configuration? I used to do commit from RStudio directly and quiet easy but now since the Github password authentication was removed, I have no idea how to connect RStudio to Github using the PAT. please help
I am sorry @emkahuda but I can't commit my time to fix GitHub <> Rstudio issues and explain version control workflows. Please check other resources or ask in a forum.
can you use it with two github accounts setting for one pc?
Perhaps this discussion should be moved to stack exchange rather than continuing to impinge on @z3tt, who provided this as a helpful gist but hadn't figured on providing ongoing support.
Hi, simple and easy. Thanks
I am happy it helps so many people but agree with @friendly: this was just a snippet to share with no intention to create a discussion around the topic. I am trying to help here and there but please also consolidate other resources if you're stuck!
Sorry to revive this, but just want to document a new baffling problem I'm having on two machines. I reported this on SO, https://stackoverflow.com/questions/69305874/authenticating-to-github-from-rstudio
I have my GITHUB_PAT set up properly (I think), and usethis::siterep()
reports my PAT is discovered, but I'm still prompted for a password, and authentication fails:
> Sys.getenv("GITHUB_PAT")
[1] "ghp_TaA*****************************************"
> usethis::git_sitrep()
Git config (global)
* Name: 'Michael Friendly'
* Email: 'friendly@yorku.ca'
* Vaccinated: TRUE
i Defaulting to 'https' Git protocol
* Default Git protocol: 'https'
GitHub
* Default GitHub host: 'https://github.com'
* Personal access token for 'https://github.com': '<discovered>'
* GitHub user: 'friendly'
* Token scopes: 'gist, repo, user, workflow'
* Email(s): 'friendly@yorku.ca (primary)', 'michael.friendly@gmail.com'
Git repo for current project
* Active usethis project: 'C:/R/Projects/HistDataVis'
* Default branch: 'main'
* Current local branch -> remote tracking branch:
'main' -> 'origin/main'
GitHub remote configuration
* Type = 'ours'
* Host = 'https://github.com'
* Config supports a pull request = TRUE
* origin = 'friendly/HistDataVis' (can push)
* upstream = <not configured>
* Desc = 'origin' is both the source and primary repo.
Read more about the GitHub remote configurations that usethis supports at:
'https://happygitwithr.com/common-remote-setups.html'
nchar(Sys.getenv("GITHUB_PAT"))
[1] 40
Also tried credentials_set_github_pat()
, but this fails:
> credentials::set_github_pat("ghp_TaA************************************")
If prompted for GitHub credentials, enter your PAT in the password field
Logon failed, use ctrl+c to cancel basic credential prompt.
error: unable to read askpass response from 'rpostback-askpass'
fatal: could not read Password for 'https://PersonalAccessToken@github.com': terminal prompts disabled
Error: Failed to call 'git credential fill'
In line 31, delete extraneous ` at end of line
Hi together, so now I had to update my PAT as well and all worked perfectly. I added the step noted in the console explicitly which is: restart R after adding your token to the environment.
Awesome job! It saves my day
Thank you!
An update on this: I posted this Q on SO: https://stackoverflow.com/questions/69305874/authenticating-to-github-from-rstudio
One answer that worked for me was to issue this command from my local repo:
git remote set-url origin git@github.com:username/repo.git
This worked after I had tried several other things.
@friendly Same issue here. This seems to have done the trick on a repo-by-repo basis. Thanks! I'm considering just pasting my PAT in my code at this point - this has been an epic saga to get this to work.
This seems to be a workaround that is simple: https://stackoverflow.com/a/68199261
simply awesome.... thanks for this
Thank you so much!
this was very useful! Thanks!
many many thanks for your help, all works fine
This is great. Thank you! One minor suggestion. I wasn't familiar with the usethis::edit_r_environ() and kept trying to figure out how to enter the PAT in the parentheses. A comment like this might help people as clueless as me: #Run this line as is to start the editor
This was godsent
Thank you!
Thanks for the feedback @tomhanna-uh, I adjusted the comments on the usethis::edit_r_environ()
bit, hope it is easier to understand now.
Awesome!
Thank you. This is an easy instruction!
You saved me having to write a poorer version for students this term. Can't thank you enough, Cedric!
Glad so many still find it helpful. And all the best with your course Robert!
Thanks a lot! Very happy to have found your advice on this, after 2 days trial-and-error... Yes, still very helpful for me as newbie :)
Very helpful, thanks!!
This is fantastic. I went thorugh tons of stackoverflow solutions. Finally your solution worked. I suggest all R users to follow this.
One question : Is this actually the old cache password method or does it ensure that the ssh key is used?