How to point Go module dependency in go.mod to a latest commit in a repo?
Just 'go get' at the commit hash you want:
go get github.com/someone/some_module@af044c0995fe
'go get' will correctly update the dependency files (go.mod, go.sum).
More information: https://github.com/golang/go/wiki/Modules#how-to-upgrade-and-downgrade-dependencies
In addition the answer from Everton on using go get github.com/someone/some_module@af044c0995fe
to get a specific commit, you can also use branch names such as:
go get github.com/someone/some_module@master
go get github.com/someone/some_module@dev_branch
Those examples get the latest commit on the corresponding branch.
It will still be recorded as a pseudo-version in your go.mod
file, such as v0.0.0-20171006230638-a6e239ea1c69
. (This helps provide a simple total ordering across all versions based on standard semver ordering).
If you want to temporarily substitute a dependency to a local directory (for example if you work on 2 modules sumultaneously) you can add replace
statement at the end of go.mod
file:
module example.com/mypkg
go 1.15
require (
gitlab.com/someone/a_package v0.14.2
)
replace gitlab.com/someone/a_package => ../my_forks/a_package