Avatar ·

क्या 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` को कमिट करना चाहिए ताकि बिल्ड की reproducibility सुनिश्चित हो सके। लेकिन मैंने पढ़ा है कि कुछ डेवलपर्स इसे कमिट नहीं करते, क्योंकि