私はプロジェクトをgithubにプッシュする機能を、クラウドで最初にプロジェクトを作成することなく作成しようとしています。現在は、this questionの情報を使ってRStudioのgitコマンドラインからこれを行うことができます。gitとcurlのコマンドラインを使用
今私はsystem
を使用してローカルリポジトリからクラウド内のレポを作成できる機能にまとめようとしています。私はこれをWindowsとLinuxマシン上で動作させています(これはMac上でどれくらいうまく動作しているかわかりません)。ここに私のコードは、(Gitの位置を検出)これまでです:
gitpath <- NULL
repo <- "New"
user <- "CantPostThat"
password <- "blargcats"
if (Sys.info()["sysname"] != "Windows") {
gitpath <- "git"
} else {
if (is.null(gitpath)){
test <- c(file.exists("C:\\Program Files (x86)\\Git\\bin\\git.exe"),
file.exists("C:\\Program Files\\Git\\bin\\git.exe"))
if (sum(test) == 0) {
stop("Git not found. Supply path to 'gitpath'")
}
gitpath <- c("\"C:\\Program Files (x86)\\Git\\bin\\git\"",
"\"C:\\Program Files\\Git\\bin\\git\"")[test][1]
}
}
私はその後、system
でそれを試してみてください。
system(paste(gitpath, "--version"))
> system(paste(gitpath, "--version"))
git version 1.7.11.msysgit.1
がよさそうです。しかし、私は実際のコードの塊でそれを試してみてください。
cmd1 <- paste(gitpath, paste0("curl -u '", user, ":", password,
"' https://api.github.com/user/repos -d '{\"name\":\"", repo, "\"}'"))
system(cmd1)
とメッセージが出ます:
> 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
は、どのように私は、このコマンドを実行できます。
curl -u 'USER:PASS' https://api.github.com/user/repos -d '{"name":"REPO"}'
コンソールから。
gitを先に入れずに実行してみました。私は現在勝利7マシンです。
カールがインストールされていますか? – hadley
私はRCurlを走らせることができると思います。 Linuxで試してみませんか?私はウィンドウ上でそれを見つけることがトリックだと思う。 –
@hadley私はgitコマンドラインでそれを行うことができるので、curlをインストールする必要があります(私はそれを見つけることはできません)。 –