Getting the Git Commit in Go
Go 1.18 added a feature to easily get the Git commit version that the binary was built from. This is so much easier than the old way of doing it! 🎉 package main import ( "fmt" "runtime/debug" ) func main() { info, _ := debug.ReadBuildInfo() for _, setting := range info.Settings { if setting.Key == "vcs.revision" || setting.Key == "vcs.time" { fmt.Printf("%s:\t%s\n", setting.Key, setting.Value) } } } $ go build git-version $ ./git-version vcs.revision: 4d47dd39d1debbdf10715fd9ff967e09d4347f02 vcs.time: 2023-09-02T00:21:21Z More info here. warning For this to work, you must build with go build -o ./build/foo. Using go build -o ./build/foo/main.go will not work. ...