# golang获取指定git分支的模块
# 问题
今天早上接到通知,openai公布了最新的gpt-3.5-turbo和gpt-4的模型版本,gpt-3.5-turbo-0613和gpt4-0613。打算把模型换成最新的模型,打开openai接口的go sdk (opens new window),发现已经有issue (opens new window)提出和pull request (opens new window)处理了。master分支已经包含了两个新增的最新的模型,但是tag标签中还未生成新的标签。这个时候我们如果需要使用master分支的代码,而不是最新的tag的代码。我们应该怎么做呢?
# 解答
我们知道我们在用go get ...
和go install ...
命令获取git仓库的代码时,优先获取最新tag作为module版本号,并且获取对应tag的的代码,如果没有tag则会根据主线分支(master)分支和时间序列的版本号同时获取主线的代码。针对上面的分支,tag代码版本落后于master。我们想要获取主线分支的代码,我们可以指定git 仓库分支进行拉取。具体命令如下。
# go get github.com/xxxx/xxxxx@branch_name
$ go get -u github.com/sashabaranov/go-openai@master
# go install github.com/xxxx/xxxxx@branch_name
$ go install github.com/sashabaranov/go-openai@master