क्या वास्तव में Git क्लोन के लिए Git कांटे हैं?


817

मैं लोगों को यह कहते हुए सुनता रहता हूं कि वे Git में कोड कोडिंग कर रहे हैं। Git "कांटा" संदिग्ध लगता है जैसे Git "क्लोन" प्लस भविष्य के विलय से गुजरने के लिए कुछ (अर्थहीन) मनोवैज्ञानिक इच्छा है। Git में कोई कांटा कमांड नहीं है, है ना?

GitHub उस पर स्टेपल पत्राचार द्वारा थोड़े अधिक वास्तविक बनाता है। यही है, आप कांटा बटन दबाते हैं और बाद में, जब आप पुल अनुरोध बटन दबाते हैं, तो सिस्टम मालिक को ईमेल करने के लिए पर्याप्त स्मार्ट है। इसलिए, यह रिपॉजिटरी के स्वामित्व और अनुमतियों के आसपास एक नृत्य का एक छोटा सा है।

हाँ नही? इस दिशा में GitHub का विस्तार करने वाले GitHub पर कोई गुस्सा? या गिट के किसी भी अफवाह कार्यक्षमता को अवशोषित?


10
हाँ, यह सिर्फ एक प्रकार का क्लोन है जिसे गिटब डेटाबेस द्वारा ट्रैक किया जाता है।
पाओलो एबरमन

15
GitHub भंडारण आवश्यकताओं (GitHub के अपने सर्वर पर) को दोगुना करने से बचने के लिए कुछ विशेष नहीं करता है?
कीथ थॉम्पसन

18
अभी तक उल्लेख नहीं किया गया है: एक निजी रेपो को हटाने से इसके सभी कांटे हट जाते हैं। एक सार्वजनिक रेपो को हटाने से कांटे बने रहते हैं, लेकिन एक कांटे को नए माता-पिता रेपो होने का बढ़ावा देता है। यदि आपका बॉस आपके सार्वजनिक रेपो को निजी बनाता है, तो यह सभी मौजूदा कांटों को तोड़ देता है और आप उनसे निजी अनुरोधों के लिए पुल अनुरोध नहीं कर पाएंगे। help.github.com/articles/…
प्लेटो

मेरा मानना ​​है कि (बिना प्रमाण के बिना गितुब हमें यह नहीं दिखाता है) कि यहां वास्तविक तंत्र Git का "विकल्प" है। दूसरे शब्दों में, कांटा --referenceउपयोग के साथ एक दर्पण क्लोन है। वास्तव में कैसे सार्वजनिक रेपो और डिलीट को संभाला जाता है, यह बिल्कुल स्पष्ट नहीं है (वैकल्पिक रूप से चुने गए प्रमोशन रेपो के विकल्प को स्थानांतरित करें? सभी कांटे कुछ सामान्य वैकल्पिकों के लिए इंगित करते हैं जो मूल कांटा का हिस्सा नहीं हैं?) लेकिन वैकल्पिकों का उपयोग विभिन्न अवलोकन योग्य व्यवहारों का उपयोग करता है।
torek

जवाबों:


925

कांटा , GitHub संदर्भ में, Git का विस्तार नहीं करता है।
यह केवल सर्वर साइड पर क्लोन की अनुमति देता है।

जब आप अपने स्थानीय वर्कस्टेशन पर GitHub रिपॉजिटरी को क्लोन करते हैं, तो आप अपस्ट्रीम रिपॉजिटरी में तब तक योगदान नहीं कर सकते जब तक आपको स्पष्ट रूप से "योगदानकर्ता" घोषित नहीं किया जाता। ऐसा इसलिए है क्योंकि आपका क्लोन उस प्रोजेक्ट का एक अलग उदाहरण है। यदि आप परियोजना में योगदान करना चाहते हैं, तो आप निम्न तरीकों से, इसे करने के लिए जाली का उपयोग कर सकते हैं:

  • आपके GitHub खाते पर वह GitHub रिपॉजिटरी क्लोन (जो "कांटा" भाग है , सर्वर साइड पर एक क्लोन)
  • योगदान उस GitHub रिपॉजिटरी के लिए करता है (यह आपके अपने GitHub खाते में है, इसलिए आपको इसे पुश करने का पूरा अधिकार है)
  • मूल GitHub रिपॉजिटरी में किसी भी दिलचस्प योगदान का संकेत दें (जो आपके अपने GitHub रिपॉजिटरी में किए गए परिवर्तनों के माध्यम से "पुल अनुरोध" हिस्सा है)

" सहयोगात्मक गिटहब वर्कफ़्लो " भी जांचें ।

यदि आप मूल रिपॉजिटरी (जिसे अपस्ट्रीम भी कहा जाता है) के साथ एक लिंक रखना चाहते हैं, तो आपको उस मूल रिपॉजिटरी का जिक्र करते हुए एक रिमोट जोड़ना होगा।
देखें " गीथहब पर मूल और अपस्ट्रीम के बीच अंतर क्या है? "

कांटा और ऊपर की ओर

और Git 2.20 (Q4 2018) और अधिक के साथ, कांटा से प्राप्त करना डेल्टा द्वीपों के साथ अधिक कुशल है ।


6
"जब आप अपने स्थानीय कार्य केंद्र पर GitHub रेपो का क्लोन बना रहे होते हैं, तो आप अपस्ट्रीम रेपो में तब तक योगदान नहीं दे सकते जब तक कि आपको स्पष्ट रूप से" योगदानकर्ता "घोषित नहीं किया जाता है।" --- क्या यह "फोर्किंग" के साथ सही नहीं है? कृपया समझाएँ।
छरवी

61
@ TestSubject528491 नहीं, एक कांटा के साथ, इसका मतलब है कि आप GitHub सर्वर साइड पर अपने स्वयं के रेपो के रूप में अपस्ट्रीम रेपो को क्लोन कर रहे हैं । तब आप स्थानीय रूप से उस नए "कांटा" रेपो को अपने कंप्यूटर पर क्लोन कर सकते हैं और स्वतंत्र रूप से उस पर वापस धक्का दे सकते हैं, क्योंकि आप उस कांटे के निर्माता और मालिक हैं।
VonC

9
मेरे लिए, महत्वपूर्ण बिंदु यह है कि आप अपनी स्थानीय प्रति से पीआर जमा नहीं कर सकते हैं जब तक कि आपको योगदानकर्ता घोषित नहीं किया जाता है । मुझे अपने स्थानीय रेपो से पीआर जमा करने की आदत है, लेकिन ऐसा इसलिए है क्योंकि मुझे हमेशा एक योगदानकर्ता के रूप में चिह्नित किया जाता है। यदि आप इसके बारे में सोचते हैं, तो पीआर प्रस्तुत करने के लिए आपको एक शाखा को दूरस्थ रेपो में धकेलना होगा और फिर पीआर बनाना होगा। मुझे लगता है कि यह समझ में आता है अगर आप यादृच्छिक लोगों को अपने रेपो पर शाखाएं नहीं बनाना चाहते हैं। और यह कि आप उन्हें इसे कांटा करना पसंद करेंगे और इसके बजाय PRs सबमिट करें।
एडम जेरनर

मैंने दूसरे "अपस्ट्रीम" रिमोट दृष्टिकोण को कहीं और देखा है, लेकिन क्या यह सीधे "गिटहब - मूल" से "गिटहब - फोर्क" तक खींचने के लिए अधिक सीधा नहीं है? दूसरा रिमोट एप्रोच मेरे एक्लिप्स और ईजीट सेटअप में काम नहीं करता था, मेरे "गिटहब - फोर्क" रेपो (पुश करने के लिए कुछ भी नहीं) के लिए पुश करने में विफल रहा।
विलियम टी। मलार्ड

कोई बात नहीं, यहाँ लिंक ने मुझे कुछ जानकारी दी। एक योगदानकर्ता के रूप में "GitHub - मूल" से "GitHub - Fork" तक खींचने के लिए यह समझ में आता है, फिर "- Fork" से स्थानीय मशीन तक, लेकिन यदि आप मालिक हैं तो आप शायद सीधे मेरे "- Fork" से खींच सकते हैं "- ओरिजनल" पर धकेलने से पहले समीक्षा करें, परीक्षण चलाएं आदि।
विलियम टी। मल्लार्ड

135

मैं लोगों को यह कहते हुए सुनता रहता हूं कि वे git में कोड फोर्क कर रहे हैं। Git "कांटा" संदिग्ध लगता है जैसे git "क्लोन" प्लस भविष्य के विलय से गुजरने के लिए कुछ (अर्थहीन) मनोवैज्ञानिक इच्छा। Git में कोई कांटा कमांड नहीं है, है ना?

"फोर्किंग" एक अवधारणा है, विशेष रूप से किसी भी संस्करण नियंत्रण प्रणाली द्वारा समर्थित कमांड नहीं।

सबसे सरल प्रकार की जाली ब्रांचिंग का पर्याय है। हर बार जब आप अपने वीसीएस की परवाह किए बिना एक शाखा बनाते हैं, तो आप "कांटेक्ट" करते हैं। ये कांटे आमतौर पर वापस एक साथ विलय करने के लिए बहुत आसान होते हैं।

आप जिस तरह के कांटे की बात कर रहे हैं, जहां एक अलग पार्टी कोड की पूरी कॉपी लेती है और दूर चली जाती है, जरूरी है कि वीसीएस के बाहर सबवर्सन जैसी केंद्रीकृत प्रणाली में बाहर हो। Git जैसी वितरित VCS को संपूर्ण कोडबेस को प्रभावी बनाने और एक नई परियोजना शुरू करने के लिए बेहतर समर्थन है।

Git (GitHub नहीं) मूल रूप से एक जोड़े में एक पूरे रेपो (यानी, इसे क्लोन करना) का "समर्थन" करता है:

  • जब आप क्लोन करते हैं, तो आपके लिए एक रिमोट कहा जाता originहै
  • डिफ़ॉल्ट रूप से क्लोन में सभी शाखाएं अपने originसमकक्षों को ट्रैक करेंगी
  • मूल प्रोजेक्ट से परिवर्तन लाना और विलय करना तुच्छ रूप से आसान है

गिट कांटा के स्रोत में परिवर्तन को सरल बनाने में योगदान देता है क्योंकि मूल परियोजना से किसी को आपसे खींचने के लिए कहा जाता है, या खुद को वापस बदलने के लिए पुश एक्सेस के लिए लिखने का अनुरोध करने का अनुरोध करता है। यह वह हिस्सा है जिसे गिटहब आसान बनाता है, और मानकीकृत करता है।

इस दिशा में गितुब का विस्तार करने वाला कोई भी क्रोध? या गिट की कोई भी अफवाह कार्यक्षमता को अवशोषित करती है?

कोई नाराज़ नहीं है क्योंकि आपकी धारणा गलत है। GitHub एक अच्छा GUI और पुल अनुरोध जारी करने के मानकीकृत तरीके के साथ Git की फोर्किंग कार्यक्षमता का विस्तार करता है, लेकिन यह Git के लिए कार्यक्षमता को नहीं जोड़ता है। फुल-रेपो-फोर्किंग की अवधारणा को मौलिक स्तर पर वितरित संस्करण नियंत्रण में बेक किया गया है। आप किसी भी बिंदु पर GitHub को छोड़ सकते हैं और अभी भी उन परियोजनाओं को धक्का / खींचना जारी रखेंगे जिन्हें आपने "कांटा" किया है।


6
आपके उत्कृष्ट उत्तर के लिए धन्यवाद। मैं सिर्फ स्पष्ट करना चाहता हूं, इसका मतलब है, जीथब के संदर्भ में मैं X projectअपनी मशीन पर कुछ क्लोन कर सकता हूं। यदि मैं अपने स्थानीय में परिवर्तन करता हूं और मूल तक पहुंच नहीं लिखता हूं, तो मैं पुल के अनुरोध के लिए परियोजना के लेखक को ईमेल करूंगा। वह गिदोन नामक एक रिमोट बनाएगा जो मेरे स्थानीय क्लोन का एक यूआरएल होगा, और वह खींच सकता है, है ना?
गिदोन

1
यदि आप किसी प्रोजेक्ट में अपने परिवर्तनों में योगदान करना चाहते हैं, तो आप उन्हें फ़ाइलों में सहेज सकते हैं, जैसे git फॉर्मेट-पैच का उपयोग करके और उन्हें किसी ऐसे व्यक्ति को ईमेल में संलग्न करें, जिसके पास एक्सेस लिखना है, या आप अपनी खुद की होस्टिंग प्राप्त कर सकते हैं, अपने काम को इसमें शामिल करें और git अनुरोध-पुल कमांड का उपयोग करके ईमेल में URL भेजें। कार्यस्थानों पर प्रस्ताव आमतौर पर ऑनलाइन सुलभ नहीं हैं।
bdsl

लेकिन हां, यदि आपका वर्कस्टेशन इंटरनेट पर प्रोजेक्ट के लेखक के लिए उपलब्ध है, तो आप बस उन्हें URL भेज सकते हैं और वे इसे रिमोट के रूप में जोड़ सकते हैं और इससे खींच सकते हैं।
bdsl

1
पुन :: angst, मेरे लिए एकमात्र यह है कि कोई लिंक या बटन नहीं है जिससे पुल-से-माय-रेपो-ए-परिप्रेक्ष्य बटन बनाने के लिए क्लिक करें जहां GitHub आपको बताता है कि आप 50 से पीछे हैं। अब कोई बड़ी बात नहीं है कि मुझे पता है कि वे "पुल रिक्वेस्ट" शब्द का उपयोग कर रहे हैं, इसमें अपस्ट्रीम से अपने गिटहब फोर्क तक खींचने के अनुरोध भी शामिल हैं। गित कठिन है।
विलियम टी। मल्लार्ड

80

हाँ, कांटा एक क्लोन है। यह इसलिए उभरा, क्योंकि आप उनकी अनुमति के बिना दूसरों की प्रतियों पर जोर नहीं दे सकते । वे आपके लिए इसकी एक प्रति ( कांटा ) बनाते हैं , जहां आपको लिखित अनुमति भी होगी।

भविष्य में यदि वास्तविक मालिक या आपके परिवर्तन जैसे कांटे वाले अन्य उपयोगकर्ता इसे अपने स्वयं के भंडार में वापस खींच सकते हैं। वैकल्पिक रूप से आप उन्हें "पुल-अनुरोध" भेज सकते हैं।


क्या मैं केवल अपने स्थानीय मशीन के भंडार को क्लोन कर सकता हूं, एक शाखा बना सकता हूं, फिर मूल मालिक को पुल अनुरोध सबमिट कर सकता हूं? ऐसा लगता है कि GitHub के सभी होस्ट किए गए रिपॉज की कई प्रतियाँ सिर्फ कोड अपडेट की सुविधा के लिए हैं।
केसी

4
@ कैसी आप केवल GitHub से GitHub के माध्यम से एक पुल अनुरोध भेज सकते हैं और आप केवल GitHub पर मौजूद शाखा से GitHub पुल अनुरोध भेज सकते हैं। यदि आप विचाराधीन रिपॉजिटरी के सहयोगी नहीं हैं, तो आपके लिए एक शाखा बनाने का कोई तरीका नहीं है जिससे आप गिटहब पुल अनुरोध कर सकते हैं। पुराने ढंग से ईमेल के माध्यम से करने से कुछ भी नहीं रोकता है, लेकिन GitHub उस में कोई भूमिका नहीं निभाता है।
ब्यू सिमेंसन

2
@ कैसी, एक कारण यह है कि आम तौर पर अन्य लोगों के पास आपके कार्य केंद्र तक URL की पहुंच नहीं होती है। GitHub का forkमतलब है कि GitHub सर्वर पर आपके काम की एक प्रति है, जिसे आप कर सकते pushहैं और जो अन्य के लिए URL एक्सेस कर सकते हैं ताकि वे कर सकें pull। उनके pull requestलिए अपनी प्रतिलिपि (GitHub पर) के लिए URL प्राप्त करने का सिर्फ एक मानक तरीका है ताकि वे इसे आसानी से अपने भंडार में खींच सकें।
जेसी चिशोल्म

मेरा मानना ​​है कि यह सही / स्वीकृत उत्तर होना चाहिए। एक दृश्य में एक गड़बड़ की कल्पना करें जहां 15-20 डेवलपर्स की एक टीम शाखाओं का निर्माण करती है और 15-20 मूल डेवलपर्स को मूल रिपॉजिटरी की अपनी कॉपी होने और कई शाखाओं के रूप में बनाने और परिवर्तन करने और इसे वापस लाने के लिए धक्का देती है। फिर मूल भंडार के लेखक केवल उन परिवर्तनों को खींच सकते हैं जो वह चाहते हैं।
किशोर पवार

37

इस संदर्भ में "कांटा" का अर्थ है "उनके कोड की एक प्रति बनाएं ताकि मैं अपने संशोधनों को जोड़ सकूं"। कहने के लिए और कुछ नहीं है। प्रत्येक क्लोन अनिवार्य रूप से एक कांटा है, और यह तय करना मूल पर निर्भर है कि कांटा से परिवर्तन खींचना है या नहीं।


2
विशिष्ट रूप में: "उनके कोड की एक प्रति बनाएं on the GitHub serverताकि मैं अपने संशोधनों को जोड़ सकूं and others can have URL access to my version"। अधिकांश स्थानीय वर्कस्टेशन किसी को खींचने में सक्षम होने के लिए URL एक्सेस की पेशकश नहीं करते हैं। लेकिन अगर आप सर्वर पर अपने कांटे को धक्का देते हैं, तो उनके पास पुल के लिए URL हो सकता है।
जेसी चिशोल्म

सवाल सामान्य रूप से फोर्किंग के बारे में नहीं है, बल्कि विशेष रूप से गेटहब के बारे में है।
रीइनियरियरपोस्ट

26

क्लोनिंग में एक स्थानीय मशीन में गिट रिपॉजिटरी की एक कॉपी बनाना शामिल है, जबकि फोर्किंग रिपॉजिटरी को दूसरे रिपॉजिटरी में क्लोन कर रहा है। क्लोनिंग केवल व्यक्तिगत उपयोग के लिए है (हालांकि भविष्य में विलय हो सकता है), लेकिन फोर्किंग के साथ आप एक नया संभावित प्रोजेक्ट पथ कॉपी कर रहे हैं और खोल रहे हैं


11

जब आप किसी परियोजना में योगदान करने का निर्णय लेते हैं तो फोर्किंग किया जाता है। आप इसके इतिहास लॉग के साथ पूरे प्रोजेक्ट की एक प्रति तैयार करेंगे। यह प्रतिलिपि पूरी तरह से आपके भंडार में बनाई गई है और एक बार जब आप इन परिवर्तनों को कर लेते हैं, तो आप एक पुल अनुरोध जारी करते हैं। अब इसके अप-टू-सोर्स के मालिक आपके पुल अनुरोध को स्वीकार करते हैं और मूल कोड में परिवर्तन शामिल करते हैं।

Git क्लोन एक वास्तविक कमांड है जो उपयोगकर्ताओं को स्रोत की एक प्रति प्राप्त करने की अनुमति देता है। git क्लोन [URL] यह आपके स्वयं के स्थानीय भंडार में [URL] की एक प्रति बनाना चाहिए।


10

मुझे लगता है कि कांटा अन्य रिपॉजिटरी की एक प्रति है, लेकिन आपके खाते के संशोधन के साथ। उदाहरण के लिए, यदि आप सीधे अन्य रिपॉजिटरी को स्थानीय रूप से क्लोन करते हैं, तो दूरस्थ ऑब्जेक्ट उत्पत्ति अभी भी उस खाते का उपयोग कर रही है जिसे आप क्लोन करते हैं। आप अपने कोड को कमिट और योगदान नहीं कर सकते। यह कोड की एक शुद्ध प्रति है। अन्यथा, यदि आप एक रिपॉजिटरी कांटा करते हैं, तो यह आपके द्वारा जीथब खाते में सेटिंग के अपडेट के साथ रेपो को क्लोन कर देगा। और फिर रेपो को अपने खाते के संदर्भ में क्लोन करके, आप अपने कोड कर सकते हैं।


10

"कांटा" क्या है के संबंध में यहां गलतफहमी है। एक कांटा वास्तव में प्रति उपयोगकर्ता शाखाओं के एक सेट से ज्यादा कुछ नहीं है। जब आप एक कांटा पर धक्का देते हैं तो आप वास्तव में मूल भंडार पर धक्का देते हैं, क्योंकि यह केवल भंडार है।

आप एक कांटा को धक्का देकर, प्रतिबद्धता को ध्यान में रखते हुए और फिर मूल भंडार पर जाकर और आईडी का उपयोग करके यह कोशिश कर सकते हैं, आप देखेंगे कि यह प्रतिबद्ध मूल भंडार में "है"।

यह बहुत समझ में आता है, लेकिन यह स्पष्ट रूप से दूर है (मैंने केवल हाल ही में इस दुर्घटना की खोज की थी)।

जब जॉन रिपॉजिटरी सुपरप्रोजेक्ट का दावा करता है तो वास्तव में ऐसा लगता है कि स्रोत रिपॉजिटरी में सभी शाखाओं को "जॉन.मास्टर", "जॉन.न्यू_गुई_प्रोजेक्ट", इत्यादि नामों से दोहराया जाता है।

गिटहब "जॉन" को छुपाता है। हम से और हमें भ्रम देता है कि हमारे पास GitHub पर रिपॉजिटरी की अपनी "कॉपी" है, लेकिन हम नहीं और न ही एक की भी जरूरत है।

इसलिए मेरे फोर्क की शाखा "मास्टर" को वास्तव में "कोरपोर्ल.मास्टर" नाम दिया गया है, लेकिन गीथहब यूआई ने कभी भी इसका खुलासा नहीं किया, मुझे केवल "मास्टर" दिखा।

यह बहुत ज्यादा है जो मुझे लगता है कि हुड के तहत वैसे भी सामान पर आधारित है जो मैं हाल ही में कर रहा हूं और जब आप इसे इंगित करते हैं, तो यह बहुत अच्छा डिजाइन है।

इस कारण से मुझे लगता है कि Microsoft के लिए बहुत आसान होगा कि वे अपने Visual Studio Team Services की पेशकश में Git कांटे को लागू करें।


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

1
@SorinPostelnicu स्रोत? मैं ह्यूग पर विश्वास करने के लिए इच्छुक हूं क्योंकि कांटों के व्यक्तिगत अनुभव के कारण उन तरीकों से व्यवहार करना है जो उनके साथ रिपॉजिटरी का एक सरल क्लोन होने के कारण अनिर्णायक हैं। उदाहरण के लिए, जब अपस्ट्रीम को हटा दिया जाता है, तो कांटे हटा दिए जाते हैं (जैसा कि ओपी के सवाल पर एक टिप्पणी में उल्लेख किया गया था) और कभी-कभी अपस्ट्रीम के कारण मेरे कांटे की शाखाओं में विलय की चीजों को मर्ज कर दिया जाता है, जब मुझे कुछ भी किए बिना, एक अनुरोध स्वीकार करना पड़ता है।
आलू

वास्तव में ऐसा प्रतीत होता है। सब के बाद यह वास्तव git cloneमें पूरी तरह से एक नया भंडार (यहां तक ​​कि एक "नंगे" एक) के लिए गीथहब के लिए अविश्वसनीय रूप से बेवकूफ होगा हर बार जब कोई "कांटा" बटन को धक्का देता है - जो कि भंडारण की एक अविश्वसनीय बर्बादी होगी, और संभवतः एक हमले के वेक्टर भी। ।
ग्रेग ए। वुड्स

7

इस तथ्य के अलावा कि क्लोनिंग सर्वर से आपकी मशीन तक है और फोर्किंग सर्वर पर ही कॉपी बना रहा है, एक महत्वपूर्ण अंतर यह है कि जब हम क्लोन करते हैं, तो हम वास्तव में सभी शाखाएं, लेबल आदि प्राप्त करते हैं।

लेकिन जब हम कांटा लगाते हैं, तो हम वास्तव में केवल मास्टर शाखा में वर्तमान फाइलें प्राप्त करते हैं, इसके अलावा और कुछ नहीं। इसका मतलब है कि हमें दूसरी शाखाएँ नहीं मिलतीं, आदि।

इसलिए अगर आपको कुछ वापस मूल भंडार में मिलाना है, तो यह एक अंतर-भंडार भंडार है और निश्चित रूप से उच्च विशेषाधिकार की आवश्यकता होगी।

कांटा गिट में एक आदेश नहीं है; यह सिर्फ एक अवधारणा है जिसे GitHub लागू करता है। याद रखें कि गिट को किसी भी मास्टर कॉपी के साथ सामान को सिंक्रनाइज़ करने की आवश्यकता के बिना सहकर्मी से सहकर्मी वातावरण में काम करने के लिए डिज़ाइन किया गया था। सर्वर सिर्फ एक और सहकर्मी है, लेकिन हम इसे मास्टर कॉपी के रूप में देखते हैं।


7
है ना? एक कांटा सभी शाखाओं को प्राप्त करता है, हालांकि आपको यह जानना होगा कि कहां देखना है (संकेत:) git branch -a
त्रिपाली

3

सरल शब्दों में,

जब आप कहते हैं कि तुम कर रहे हैं forking भंडार है, आप मूल रूप से अपने GitHub खाते में अपने GitHub आईडी के तहत मूल भंडार की एक प्रति बना रहे हैं।

तथा

जब आप कहते हैं कि आप एक रिपॉजिटरी की क्लोनिंग कर रहे हैं , तो आप सीधे अपने सिस्टम (पीसी / लैपटॉप) में मूल रिपॉजिटरी की एक स्थानीय कॉपी बना रहे हैं, बिना आपके गिटहब अकाउंट में कॉपी किए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.