Avatar ·

هل يجب إيداع ملف go.sum في مستودع Git؟

مرحبًا! بدأت في تعلم Go وانتقلت من استخدام GOPATH إلى Go Modules. لدي مشروع يستخدم عدة تبعيات خارجية. قمت بتهيئة الوحدة باستخدام الأمر `go mod init` وأضفت التبعيات عبر `go get`. ونتيجة لذلك، ظهر ملفان: `go.mod` و `go.sum`. أفهم أن `go.mod` يجب إيداعه - فهو مثل `package.json` أو `requirements.txt`. لكن بالنسبة لـ `go.sum`، الأمر ليس واضحًا تمامًا. أرى أنه ملف ضخم يحتوي على تجزئات (hashes) ويتغير باستمرار. على سبيل المثال، حاليًا في مشروعي لدي تبعية `github.com/gin-gonic/gin v1.9.1`، ويحتوي `go.sum` على عشرات الأسطر من التجزئات لهذه المكتبة وغيرها. يقول قائد فريقي إنه يجب إيداع `go.sum` لضمان قابلية إعادة بناء المشروع (reproducibility). لكنني قرأت أن بعض المطورين لا يقومون بإيداعه، لأن...