फोर्किंग मौजूदा रिपॉजिटरी से पूरी तरह से नया रिपॉजिटरी बनाता है (बस गिटहब / बिटबकेट पर गिट क्लोन काम करता है)
कांटे का सबसे अच्छा उपयोग किया जाता है: जब 'स्प्लिट' का इरादा एक तार्किक रूप से स्वतंत्र परियोजना बनाना है, जो शायद अपने माता-पिता के साथ फिर से न हो।
शाखा रणनीति मौजूदा / काम करने वाले भंडार पर एक नई शाखा बनाती है
शाखाओं का सबसे अच्छा उपयोग किया जाता है: जब उन्हें एक विशेषता के माध्यम से काम करने के लिए अस्थायी स्थानों के रूप में बनाया जाता है, तो मूल के साथ शाखा को मर्ज करने के इरादे से।
अधिक विशिष्ट: -
ओपन सोर्स प्रोजेक्ट्स में यह रिपॉजिटरी का मालिक होता है जो यह तय करता है कि रिपॉजिटरी को कौन धक्का दे सकता है। हालांकि, ओपन सोर्स का विचार यह है कि हर कोई परियोजना में योगदान दे सकता है।
यह समस्या कांटे द्वारा हल की जाती है: किसी भी समय एक डेवलपर एक ओपन सोर्स प्रोजेक्ट में कुछ बदलना चाहता है, वे सीधे आधिकारिक रिपॉजिटरी को क्लोन नहीं करते हैं। इसके बजाय, उन्होंने इसे कॉपी बनाने के लिए कांटा। जब काम समाप्त हो जाता है, तो वे एक पुल अनुरोध करते हैं ताकि रिपॉजिटरी के मालिक परिवर्तनों की समीक्षा कर सकें और यह तय कर सकें कि उन्हें अपनी परियोजना में विलय करना है या नहीं।
इसके मूल में फोर्किंग फीचर ब्रांचिंग के समान है, लेकिन शाखाओं को बनाने के बजाय रिपॉजिटरी का कांटा बनाया जाता है, और मर्ज अनुरोध करने के बजाय आप एक पुल अनुरोध बनाते हैं।
नीचे दिए गए लिंक एक सुविचारित तरीके से अंतर प्रदान करते हैं:
https://blog.gitprime.com/the-definitive-guide-to-forks-and-branches-in-git/
https://buddy.works/blog/5-types-of-git-workflows
http://www.continuousagile.com/unblock/branching.html