我问了一个相关的问题并意识到我没有问正确的问题(即,这与 git 无关)。
问题是如何在不首先使用 R 在云中创建项目的情况下将项目推送到 github。目前,您可以使用此问题中的信息从 RStudio 中的 git 命令行执行此操作。
现在我正试图从 Windows 机器(Linux 很容易)将它变成 R 代码。system
我被困在通过 R调用从命令行使用 curl 的第一步。我会展示我所拥有的,然后是错误消息(感谢 SimonO101 让我走到这一步。)。根据他在下面的评论,我进行了大量编辑以反映问题:
代码:
repo <- "New"
user <- "trinker"
password <- "password"
url <- "http://curl.askapache.com/download/curl-7.23.1-win64-ssl-sspi.zip"
tmp <- tempfile( fileext = ".zip" )
download.file(url,tmp)
unzip(tmp, exdir = tempdir())
system(paste0(tempdir(), "/curl http://curl.haxx.se/ca/cacert.pem -o " ,
tempdir() , "/curl-ca-bundle.crt"))
cmd1 <- paste0(tempdir(), "/curl -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'")
system(cmd1)
cmd2 <- paste0(tempdir(), "/curl -k -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'")
system(cmd2)
错误消息(两种方法相同):
> system(cmd1)
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 12 0 0 100 12 0 24 --:--:-- --:--:-- --:--:-- 30
100 47 100 35 100 12 65 22 --:--:-- --:--:-- --:--:-- 83{
"message": "Bad credentials"
}
我知道所有文件都在那里,因为:
> dir(tempdir())
[1] "curl-ca-bundle.crt" "curl.exe" "file1aec62fa980.zip" "file1aec758c1415.zip"
它不能是我的密码或用户名,因为这适用于 Linux Mint(唯一的区别是 curl 之前的部分):
repo <- "New"
user <- "trinker"
password <- "password"
cmd1 <- paste0("curl -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'")
system(cmd1)
注意:Windows 7 机器。R 2.14.1