[英]Default Git master branch checkout in Travis CI build when using go get
我在嘗試Travis CI構建的首次嘗試時遇到了一些困難。
我使用Parse(.com)作為后端,然后在這里找到了使用Travis進行構建和部署的示例。 但是,在盡力將其設置好之后,我現在遇到了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}時指定應該結帳的分支? 因此它不是默認的master。 如果沒有 ,有沒有更好的方法呢?
注意:我的存儲庫中沒有master分支,因為我不使用它,所以在前一段時間將其刪除。 我需要添加一個才能正常工作嗎?
如果問題不清楚或缺少一些必要的信息,請告訴我。
感謝您的幫助!
簡短的答案是不,您不能使用go get
指定分支或標記。 但是,如果檢查go
工具的來源,您會發現它在執行克隆時也沒有真正指定master
。 它只是克隆倉庫。 這可能確實是git / GitHub問題。
您可以打開一個終端並僅將該倉庫克隆到其他位置嗎? 它是否使您抱怨沒有master
分支? 存儲庫有一個設置,該分支應將其設置為默認分支,並且即使您沒有分支,仍將其默認設置為master
那么您將看到錯誤。 我通過在沒有master分支的情況下制作GitHub存儲庫來實現這一點。 我可以通過進入GitHub存儲庫設置並指定默認分支來修復它。
注意:如果您的本地存儲庫處於分離的頭部狀態,那么go get
命令將指定master
分支。 查看輸出,我認為這不是正在發生的事情。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.