¿Es necesario hacer commit del archivo go.sum en el repositorio Git?
¡Hola! Empecé a estudiar Go y estoy migrando de usar GOPATH a Go Modules. Tengo un proyecto que usa varias dependencias externas. Inicialicé el módulo con el comando `go mod init` y agregué dependencias mediante `go get`. Como resultado, aparecieron dos archivos: `go.mod` y `go.sum`.
Entiendo que `go.mod` debe tener commit — es como `package.json` o `requirements.txt`. Pero con `go.sum` no es tan obvio. Veo que es un archivo enorme con hashes que cambia constantemente. Por ejemplo, actualmente en mi proyecto tengo la dependencia `github.com/gin-gonic/gin v1.9.1`, y `go.sum` contiene decenas de líneas con hashes para esta y otras librerías.
Mi team lead dice que `go.sum` debe tener commit para garantizar la reproducibilidad de las builds. Pero he leído que algunos desarrolladores no le hacen commit porque es grande y se puede regenerar. Además, en algunos pipelines de CI/CD he visto que ejecutan `go mod download` y todo funciona.
Por favor, indíquenme cuál es el enfoque correcto.