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