एक वितरित एससीएम के रूप में, git अवधारणाओं के बीच 'कार्यशील प्रति का एक स्नैपशॉट बनाते हैं' (प्रतिबद्ध) और 'सिंक रिपॉजिटरी' (पुश / पुल / भ्रूण)।
यदि आपके पास केवल अपने भंडार का एक स्थानीय क्लोन है, तो यह धक्का देने का कोई मतलब नहीं है। हालांकि, GitHub के साथ, आप कर एक और क्लोन (GitHub पर एक) है, और अपने परिवर्तनों को धक्का वहाँ कम से कम एक फायदा है: बैकअप। यदि आपका कंप्यूटर मर जाता है, तो आपके पास अभी भी जीथब पर धकेल दिया गया है
बेशक, यह जीथुब का प्राथमिक उद्देश्य नहीं है; github कोड साझा करने के लिए अभिप्रेत है, इसलिए यदि आपका प्रोजेक्ट github पर है, तो आप दूसरों को वहां से खींचने की अनुमति दे सकते हैं, अपनी परियोजना को क्लोन कर सकते हैं, अपने क्लोन से पुल अनुरोधों पर कार्य कर सकते हैं, या यहां तक कि विश्वसनीय अन्य लोगों को आपके भंडार तक पहुंच प्रदान कर सकते हैं।
धक्का देने का एक अन्य कारण यह है कि यदि आप कई स्थानीय क्लोन का उपयोग करते हैं। यह विभिन्न चीजों के लिए उपयोगी हो सकता है: उदाहरण के लिए, आप एक ही समय में दो अलग-अलग शाखाओं पर काम करना चाह सकते हैं, या आप अपने भंडार पर विनाशकारी संचालन की कोशिश करना चाह सकते हैं; यदि सभी उद्देश्य के अनुसार काम करते हैं, तो आप संशोधित क्लोन रखते हैं (या अपने परिवर्तनों को मूल रेपो में वापस धकेल देते हैं), लेकिन अगर चीजें दक्षिण में जाती हैं, तो आप गड़बड़ किए गए क्लोन को हटा सकते हैं और मूल एक पर वापस जा सकते हैं (जो अभी भी अपरिवर्तित है) ।
कुछ लोग तैनाती के लिए भी git का उपयोग करते हैं: उत्पादन संस्करण भी एक git रेपो है, और एक नए संस्करण में अपडेट करना एक फ़ेच और चेकआउट का मामला है (जाहिर है, यह केवल तभी काम करता है जब आपको बिल्ड स्टेप की आवश्यकता नहीं होती है)। मैं जरूरी नहीं कि यह गंभीर सामान के लिए सिफारिश कर सकता हूं, लेकिन छोटी चीजों के लिए यह एक सरल और व्यावहारिक समाधान है।