Windows 使用git和curl命令行

Windows 使用git和curl命令行,windows,r,git,curl,Windows,R,Git,Curl,我正在尝试编写一个函数,将项目推送到github,而不首先在云中创建项目。目前,您可以通过RStudio中的git命令行使用来自的信息执行此操作 现在,我正试图将它包装成一个函数,我可以使用system从本地回购在云中创建回购。我正在Windows和linux机器上完成这项工作(所以还不确定这在mac上的效果如何)。以下是我迄今为止的代码(检测git位置): 看起来不错。但我在一个真正的代码块上进行了尝试: cmd1 <- paste(gitpath, paste0("curl -u '"

我正在尝试编写一个函数,将项目推送到github,而不首先在云中创建项目。目前,您可以通过RStudio中的git命令行使用来自的信息执行此操作

现在,我正试图将它包装成一个函数,我可以使用
system
从本地回购在云中创建回购。我正在Windows和linux机器上完成这项工作(所以还不确定这在mac上的效果如何)。以下是我迄今为止的代码(检测git位置):

看起来不错。但我在一个真正的代码块上进行了尝试:

cmd1 <- paste(gitpath, paste0("curl -u '", user, ":", password, 
    "' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'"))

system(cmd1)
如何运行此命令:

curl-u“用户:通过”https://api.github.com/user/repos -d'{“名称”:“回购”}'
从控制台


我还试着跑步,但没有先把git放在前面。我目前在一台Win7机器上

在我看来,您似乎正在尝试将curl作为git命令
系统(“git curl”)
运行,这显然是行不通的。我认为您需要在Windows上找到curl二进制文件的安装路径,方法类似于您在上面使用Git可执行文件时所做的。在Mac OS X上,您可以像这样运行命令

system("curl -u \'USER:PASS\' https://api.github.com/user/repos -d \'{\"name\":\"REPO\"}\'")
记住转义字符串中的额外引号

我想您甚至可以下载curl的编译二进制文件,然后从下载位置运行它?我还没有在工作中访问我的Win7盒来测试这个从复制和粘贴运行,但你得到了这个想法

url <- "http://curl.askapache.com/download/curl-7.23.1-win64-ssl-sspi.zip"
tmp <- tempfile( fileext = ".zip" )
download.file(url,tmp)
unzip(tmp)
system( paste0( tempdir(),"/curl", " -u \'USER:PASS\' https://api.github.com/user/repos -d \'{\"name\":\"REPO\"}\'") )

url您安装了curl吗?如果我可以运行RCurl,我想我会安装。没有在linux上尝试过。我想关键是要在windows上找到它。@hadley我可以用git命令行来完成它,所以必须安装curl(尽管我找不到)。我没有在Ruby上使用windows的经验,
github
Gem在那里不工作吗?这回答了问题,但我仍然无法让它工作。我的标记是正确的,并且(我甚至没有在这个帖子中提出正确的问题)。
> system(cmd1)
git: 'curl' is not a git command. See 'git --help'.

Did you mean this?
    pull
Warning message:
running command '"C:\Program Files (x86)\Git\bin\git" curl -u ' trinker : PASSWORD ' https://api.github.com/user/repos -d '{"name":" three "}'' had status 1 
system("curl -u \'USER:PASS\' https://api.github.com/user/repos -d \'{\"name\":\"REPO\"}\'")
url <- "http://curl.askapache.com/download/curl-7.23.1-win64-ssl-sspi.zip"
tmp <- tempfile( fileext = ".zip" )
download.file(url,tmp)
unzip(tmp)
system( paste0( tempdir(),"/curl", " -u \'USER:PASS\' https://api.github.com/user/repos -d \'{\"name\":\"REPO\"}\'") )