Починаючи з v1.11 Go, додана підтримка модулів. Команди
go mod init <package name>
go build
буде генерувати go.mod
та go.sum
файли, які містять усі знайдені версії для залежностей пакета.
Якщо модуль не має жодних випусків, використовується останній коміт цього модуля. Якщо модуль має випуски, останній вибирається як залежність.
Однак іноді мені потрібна функціональність, яка ще не в опублікованому випуску, а з коміту, зробленого після цього випуску. Як встановити go.mod
вказівку не на випуск модуля, а на певний коміт у сховищі модуля?
Схоже, я можу зробити це вручну в go.mod with
module /my/module
require (
...
github.com/someone/some_module v0.0.0-20181121201909-af044c0995fe
...
)
де v0.0.0
не відповідає останньому опублікованому тегу випуску, 20181121201909
буде міткою часу фіксації та af044c0995fe
буде хешем коміту? Чи слід таку інформацію знаходити та вводити вручну, чи є кращий спосіб?
/commits
, але не під/pulls
. Детальніше див. Тут: golang / go # 31191 явно відфільтровує такі види комітів .