go getで常に最新のcommitを使いたい場合

1 min read読了の目安(約600字 2

⚠ この記事には嘘が書かれています。コメント部分を参照してください。

たまに自分で作った作りかけのパッケージに依存するときなどに、常に最新のcommitを利用したい場合がある。ここではリリース済みの最新バージョンを参照したいというわけではないので @latestは不適切。

調べてみたところ以下の様にすれば良さそう。

$ go get <repository>@HEAD

対象がgitのリポジトリなら。

公式のやり方ではなさそうだけれど、一度タグ無しのリポジトリに対してgo getしたあとに、リポジトリを更新し、go getしたときにもキャッシュが使われてしまって困ったことがあった (@masterなどしてしまったかもしれない)。

issues

code

1.15では cmd/go/internal/modfetch/codehost 付近だけど、internalなのでゴロゴロ変わりそう。

環境

$ go version
go version go1.15.1 darwin/amd64