【问题标题】:Errors when using RStudio's Git tools使用 RStudio 的 Git 工具时的错误
【发布时间】:2014-09-16 15:19:42
【问题描述】:

尝试从 RStudio 推送到 GitHub 时,我收到以下错误。

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

RStudio 有我的出身

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

实际上应该是什么时候

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

RStudio 不允许我从版本控制系统更改来源。这是它显示的内容:

是否可以从 RStudio 更改我的 GitHub 源 URL?

【问题讨论】:

  • 你需要使用 Git 来解决这个问题。您是否可以尝试使用 RStudio 从版本控制创建一个新项目?转到“文件/新建项目...”并选择“版本控制”。如果成功,请尝试推送。
  • “repository url”应该是包的路径吗?还是我的主页? fatal: destination path 'saber' already exists and is not an empty directory.
  • 使用一个空的目标目录。在您的 GitHub 项目页面上查找“克隆 URL”,或者选择 SSH 变体。
  • @krlmlr - 有效。太感谢了。如果您喜欢,请发布为答案
  • 很高兴我能帮上忙。我不会添加答案,但也许您可以总结一下主要发现。

标签: r git rstudio


【解决方案1】:

感谢@krlmlr 在 cmets 中提供的专业提示,

使用空的目标目录。在您的 GitHub 项目页面上查找“克隆 URL”,或者选择 SSH 变体。

我在 GitHub 上点击了一次“clone url”,什么也没有。再说一次,什么都没有。再一次好的衡量,什么都没有。于是我去终端,阅读了man git帮助文件,并决定更改我的密码并重新配置。这些是我跑的线,而且很成功。

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

然后我去了 RStudio,它允许我克隆我的存储库,并更改我的版本控制设置的 URL。这是一张五颜六色的照片

新建项目 -> 版本控制 -> Git -> 创建项目

接下来,奇迹发生了,我非常小心删除了我的包副本,准备将开发 tarball 推送到 GitHub。摇滚吧。

@krlmlr,感谢您将我推向正确的方向。现在我觉得我实际上是在做正确的事情。 :)

为了好玩,试着说 'rpostback-askpass' 快​​十倍。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,对我来说,这两个简单的步骤效果很好:

    1. 将 SSH 密钥从 RStudio 添加到我的 github 帐户。

    2. 更改原始 URL 并使用 -u 标志进行一次推/拉(找到解决方案 here)。

    对于 1.,在 RStudio 中转到工具 → 全局选项... → Git/SVN → 查看公钥,然后复制密钥。在您选择的浏览器中,登录 Github,单击 Edit Profile → SSH keys 并将复制的密钥粘贴到此处。

    对于2.,回到RStudio,点击Tools → Shell…,然后输入:

    git remote add origin https://github.com/myname/test.git
    git config remote.origin.url git@github.com:myname/test.git
    git pull -u origin master
    git push -u origin master
    

    当然,将“myname”更改为您的用户名,将“test.git”更改为您的项目名称。 (或者甚至是“github.com”到你研究所的 github 或类似的 URL。)

    这样做一次后,RStudio 中的 Push/Pull 按钮应该可以工作,并且您不再需要 shell!

    【讨论】:

    • 这让我通过了荆棘补丁。首先,我必须 git remote remove origin。 pull 中的“-u”开关无法识别(尽管在帮助文件中它的意思是“--update-head-ok”)。 push中的“-u”开关被识别;它的意思是“--set-upstream”。所以这很好。看来我必须为每个项目单独执行所有这些步骤。但与此同时,谢谢埃德加!
    【解决方案3】:

    我现在在多台计算机上都遇到了这个问题,远程不支持 SSH,因此无法利用无密码登录。

    这种情况下的问题是,默认情况下,git 以交互方式询问密码,而 RStudio 无法以图形方式显示。诀窍是use git's credential storage system

    例如在 Mac OS X 上:

    git config --global credential.helper osxkeychain
    

    在 Linux 上可以使用gnome-keyring integration

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-15
      • 2015-02-20
      • 2015-12-31
      • 1970-01-01
      • 2016-12-14
      • 2011-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多