Dimulai dengan v1.11 Go menambahkan dukungan untuk modul. Perintah
go mod init <package name>
go build
akan menghasilkan go.mod
dan go.sum
file yang berisi semua versi yang ditemukan untuk dependensi paket.
Jika modul tidak memiliki rilis apa pun, komit terbaru dari modul itu akan digunakan. Jika sebuah modul memiliki rilis, yang terbaru akan dipilih sebagai dependensi.
Namun terkadang saya membutuhkan fungsionalitas yang belum dirilis, tetapi dari komit yang dibuat setelah rilis itu. Bagaimana cara mengatur go.mod
agar tidak menunjuk ke rilis modul, tetapi ke komit tertentu dalam repositori modul?
Sepertinya saya bisa melakukannya dengan tangan di go.mod dengan
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
di mana v0.0.0
tidak sesuai dengan tag rilis terakhir yang dipublikasikan, 20181121201909
akan menjadi stempel waktu commit dan af044c0995fe
akan menjadi hash commit? Haruskah informasi seperti itu ditemukan dan dimasukkan dengan tangan, atau ada cara yang lebih baik?
/commits
, tetapi tidak di bawah/pulls
. Lihat info selengkapnya di sini: golang / go # 31191 secara eksplisit memfilter jenis komitmen ini.