使用go get时,Travis CI构建中的默认Git主分支签出

时间:2015-06-05 09:20:37

标签: git github parse-platform go travis-ci

我第一次尝试Travis CI构建工作时遇到了一些困难。

我使用Parse(.com)作为后端,然后找到了使用Travis进行构建和部署here的示例。但是,尽管我尝试将其设置为最佳状态,但我现在遇到的问题 Google 无法提供帮助。

我从Travis CI构建日志中收到此错误。

....
$ mkdir -p "$TRAVIS_BUILD_DIR/gosrc"
$ mkdir -p "$TRAVIS_BUILD_DIR/static"
$ curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash
$ go get -v github.com/xxxxx/xxxxxxx
github.com/xxxxxx/xxxxxx (download)
cd /home/travis/build/xxxxx/xxxxx/gosrc/src/github.com/xxxxxx/xxxxxx; git checkout master

error: pathspec 'master' did not match any file(s) known to git.

package github.com/xxxxx/xxxxxx: exit status 1

The command "go get -v github.com/xxxxxx/xxxxxx" failed and exited with 1 during .
Your build has been stopped.

这是我的.travis.yml文件的安装部分

install:
- mkdir -p "$TRAVIS_BUILD_DIR/gosrc"
- mkdir -p "$TRAVIS_BUILD_DIR/static"
- curl -s https://www.parse.com/downloads/cloud_code/installer.sh | sudo /bin/bash
- go get -v github.com/xxxxxx/xxxxxxx

我的问题是:在进行 go get {git repo} 时,您可以指定它应该结帐的分支吗?所以它并不默认为掌握。如果有更好的方法吗?

注意:我的存储库中没有主分支,因为我没有使用它,所以之前删除了它。我是否需要添加一个才能工作?

如果问题不清楚或者是否遗漏了一些必要的信息,请告诉我。

感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

简短的回答是,不,您无法使用go get指定分支或标记。但是,如果您检查source of the go tool,您会发现它在进行克隆时并未真正指定master。它只是克隆了回购。这可能是一个git / GitHub问题。

您可以打开终端并将该回购克隆到其他位置吗?它是否会让您抱怨没有master分支机构?存储库有一个设置,哪个分支应该是默认的,如果它仍然默认为master,即使你没有,那么你也会看到错误。我通过制作没有主分支的GitHub仓库来复制这个。我可以通过进入我的GitHub repo设置并指定默认分支来修复它。

注意:如果您的本地仓库处于分离头状态,go get命令将指定master分支。看看输出,我不认为这里发生了什么。