相关疑难解决方法(0)

是否可以在不打开浏览器的情况下从CLI在GitHub上创建远程仓库?

我创建了一个新的本地Git存储库:

~$ mkdir projectname
~$ cd projectname
~$ git init
~$ touch file1
~$ git add file1
~$ git commit -m 'first commit'
Run Code Online (Sandbox Code Playgroud)

是否有任何git命令来创建一个新的远程仓库并从此处将我的提交推送到GitHub?我知道启动浏览器并转向创建新存储库没什么大不了的,但如果有办法从CLI实现这一点,我会很高兴.

我阅读了大量的文章,但我没有提到如何使用git命令从CLI创建远程仓库.Tim Lucas的好文章设置一个新的远程git存储库是我找到的最接近的,但GitHub不提供shell访问.

git ssh version-control github command-line-interface

337
推荐指数
13
解决办法
14万
查看次数

使用R将本地存储库推送到Windows上的github

我曾经问过一个非常相似的问题并得到了一个从命令行起作用的响应,但我现在想用R来自动化Windows的过程(Linux更容易).

这是我正在尝试做的事情:

  1. 创建本地目录(或已存在)
  2. 在云中生成一个与本地同名的新github仓库(基于此答案)
  3. 将.git添加到本地存储库
  4. 进行初始提交
  5. 建立云回购和本地回购之间的联系
  6. 将提交和本地存储库中的文件推送到github

我相信基于输出,我在失败之前一直到第5步(因为提交和本地目录中的文件永远不会转到云中的github).我知道第2步有效,因为这里创建了空仓库.我不知道如何测试第5步.在最后一步,shell(cmd6, intern = T)RGui和RStudio导致永恒的死亡螺旋.问题是:如何将提交和本地存储推送到云端.

这是我更新的代码(用户特定的唯一内容是第三代码块中的用户名和密码):

## Create Directory
repo <- "foo5"
dir.create(repo)
project.dir <- file.path(getwd(), repo) 

## Throw a READ.ME in the directory
cat("This is a test", file=file.path(project.dir, "READ.ME"))

## Github info (this will change per user)
password <-"pass" 
github.user <- "trinker"  

## Get git location
test <- c(file.exists("C:/Program Files (x86)/Git/bin/git.exe"),
    file.exists("C:/Program Files/Git/bin/git.exe"))
gitpath <- c("C:/Program Files (x86)/Git/bin/git.exe",
  "C:/Program …
Run Code Online (Sandbox Code Playgroud)

windows git r github-api

15
推荐指数
1
解决办法
1417
查看次数

使用git和curl命令行

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

现在我正在尝试将其包装成一个函数,我可以使用它system从本地仓库创建云中的repo.我正在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]
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我尝试用system:

system(paste(gitpath, "--version"))

> system(paste(gitpath, "--version"))
git version 1.7.11.msysgit.1
Run Code Online (Sandbox Code Playgroud)

看起来不错.但后来我尝试了一个真正的代码块:

cmd1 <- paste(gitpath, paste0("curl -u '", user, ":", …
Run Code Online (Sandbox Code Playgroud)

windows git curl r

6
推荐指数
1
解决办法
8438
查看次数

通过curl命令行发送到github(Windows)

我问了一个相关的问题,并意识到我没有问正确的问题(即,这不是关于git).

问题是如何在没有首先使用R在云中创建项目的情况下将项目推送到github.目前,您可以使用此问题中的信息从RStudio中的git命令行执行此操作.

现在我正在尝试从Windows机器中将其转换为R代码(Linux很简单).我通过R system调用从命令行使用curl进入第一步.我将展示我拥有的内容然后显示错误消息(感谢SimonO101让我这么做.).根据他在下面的评论,我已经进行了大量编辑以反映问题:

R代码:

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)
Run Code Online (Sandbox Code Playgroud)

错误消息(两种方法都相同):

> …
Run Code Online (Sandbox Code Playgroud)

windows curl r github

5
推荐指数
1
解决办法
925
查看次数

找到git.exe的位置

我正在尝试使用R中的git通过curl向github发送命令(即,我试图让这个问题作为R函数工作).如果我能找到git.exe的位置,我可以完成这个.我以为我可以使用,Sys.which但它不起作用.

> Sys.which("git")
git 
 "" 
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我知道文件存在:

> system('"C:\\Program Files (x86)\\Git\\bin\\git" --version')
git version 1.7.11.msysgit.1
Run Code Online (Sandbox Code Playgroud)

如何在Windows上找到git.exe?(或者我可能会发现错误的整个问题,就像我在这里发生的那样)

git r

2
推荐指数
1
解决办法
2172
查看次数