Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Errors when using RStudio's Git tools

Tags:

git

r

rstudio

When attempting to push to GitHub from RStudio, I get the following errors.

error: unable to read askpass response from 'rpostback-askpass'
fatal: could not read Username for 'https://github.com':
       No such device or address

RStudio has my origin as

https://github.com/rmscriven/other.git

when it actually should be

https://github.com/rmscriven/saber.git

RStudio will not allow me to change the origin from the version control system. Here is what it shows:

enter image description here

Is it possible to change my GitHub origin url from RStudio?

like image 308
Rich Scriven Avatar asked Jul 24 '14 21:07

Rich Scriven


People also ask

How do I link Git and RStudio?

In RStudio, start a new Project: File > New Project > Version Control > Git. In “Repository URL”, paste the URL of your new GitHub repository. It will be something like this https://github.com/jennybc/myrepo.git .

Where is the Git tab in RStudio?

To enable version control go to Tools->Project options->GIT/SVN and choose git in the dropdown menu.


2 Answers

Thanks to the pro tip provided by @krlmlr in the comments,

Use an empty target directory. Look for "clone URL" on your GitHub project page, perhaps choose the SSH variant.

I clicked "clone url" on GitHub once, nothing. Then again, nothing. And once again for good measure, nothing. So I went to the terminal, read the man git help file, and decided to change my password and reconfigure. These are the lines I ran, and it was successful.

git config --global user.name <myuser.name>
git config --global user.email <myuser.email>   
git clone https://github.com/rmscriven/saber.git
git pull

Then I went to RStudio and it allowed me to clone my repository, and change the URL of my version control setting. Here's a colorful pic

New project -> Version Control -> Git -> Create Project

enter image description here

Next, magic happened, and I had a copy of my package which I very carefully removed to prepare to push the development tarball to GitHub. Rock on.

@krlmlr, I thank you for nudging me in the right direction. Now I feel like I'm actually doing it the right way. :)

And for fun, try saying 'rpostback-askpass' ten times fast.

like image 99
Rich Scriven Avatar answered Oct 16 '22 16:10

Rich Scriven


I had the same problem and for me these two simple steps worked great:

  1. Add the SSH key from RStudio to my github account.

  2. Change the origin URL and use the -u flag for push/pull once (solution found here).

For 1., in RStudio go to Tools → Global Options... → Git/SVN → view public key, and copy the key. In your browser of choice, logged in on Github, click Edit Profile → SSH keys and paste the copied key here.

For 2., back in RStudio, click Tools → Shell… , then enter:

git remote add origin https://github.com/myname/test.git
git config remote.origin.url [email protected]:myname/test.git
git pull -u origin master
git push -u origin master

Of course, change "myname" to your username and "test.git" to the name of your project. (Or even "github.com" to the URL of your institute's github or similar.)

After doing this once, the Push/Pull buttons in RStudio should work and you don't need the shell anymore!

like image 29
Edgar Avatar answered Oct 16 '22 17:10

Edgar