क्या go.sum फ़ाइल को Git रिपॉजिटरी में कमिट करना आवश्यक है?
नमस्ते! मैंने Go सीखना शुरू किया है और GOPATH से Go Modules पर स्विच कर रहा हूँ। मेरे पास एक प्रोजेक्ट है जो कई बाहरी dependencies का उपयोग करता है। मैंने `go mod init` कमांड से मॉड्यूल इनिशियलाइज़ किया और `go get` के माध्यम से dependencies जोड़ीं। इसके परिणामस्वरूप दो फ़ाइलें बनीं: `go.mod` और `go.sum`।
मैं समझता हूँ कि `go.mod` को कमिट करना आवश्यक है — यह `package.json` या `requirements.txt` जैसा है। लेकिन `go.sum` के बारे में यह स्पष्ट नहीं है। मैं देख रहा हूँ कि यह हैश वाली एक बड़ी फ़ाइल है जो लगातार बदलती रहती है। उदाहरण के लिए, अभी मेरे प्रोजेक्ट में `github.com/gin-gonic/gin v1.9.1` dependency है, और `go.sum` में इस और अन्य लाइब्रेरीज़ के लिए दर्जनों हैश लाइनें हैं।
मेरा टीम लीड कहता है कि `go.sum` को कमिट करना चाहिए ताकि builds की reproducibility सुनिश्चित हो सके। लेकिन मैंने पढ़ा है कि कुछ डेवलपर्स इसे कमिट नहीं करते, क्योंकि