package main import ( "fmt" "os" "github.com/go-git/go-git/v5" . "github.com/go-git/go-git/v5/_examples" "github.com/go-git/go-git/v5/plumbing" ) // Example how to resolve a revision into its commit counterpart func main() { CheckArgs("", "") path := os.Args[1] revision := os.Args[2] // We instantiate a new repository targeting the given path (the .git folder) r, err := git.PlainOpen(path) CheckIfError(err) // Resolve revision into a sha1 commit, only some revisions are resolved // look at the doc to get more details Info("git rev-parse %s", revision) h, err := r.ResolveRevision(plumbing.Revision(revision)) CheckIfError(err) fmt.Println(h.String()) }