GitHub पर मूल और अपस्ट्रीम के बीच अंतर क्या है?


409

GitHub पर originऔर उसके बीच क्या अंतर है ?upstream

जब एक git branch -aकमांड किया जाता है, तो कुछ शाखाओं में एक उपसर्ग होता है origin( remotes/origin/..) जबकि अन्य में एक उपसर्ग होता है upstream( remotes/upstream/..)।


जवाबों:


803

इसे GitHub कांटे के संदर्भ में समझा जाना चाहिए (जहां आप स्थानीय रूप से उस कांटे को क्लोन करने से पहले GitHub पर GitHub रेपो को फोर्क करते हैं)।

  • upstreamआम तौर पर उस मूल रेपो को संदर्भित करता है जिसे आपने कांटा है
    (देखें " परिभाषा" downstream"और" upstream" " अधिक upstreamअवधि के लिए)
  • origin आपका कांटा है: GitHub पर अपना स्वयं का रेपो, GitHub के मूल रेपो का क्लोन

GitHub पेज से:

जब कोई रेपो क्लोन किया जाता है, तो उसमें एक डिफ़ॉल्ट रिमोट होता है, originजो आपके कांटे को GitHub पर इंगित करता है, न कि उस मूल रेपो को, जिसे इससे फोर्क किया गया था।
मूल रेपो का ट्रैक रखने के लिए, आपको एक और रिमोट नाम जोड़ना होगाupstream

git remote add upstream git://github.com/<aUser>/<aRepo.git>

( aUser/aRepoमूल निर्माता और भंडार के संदर्भ के साथ , जिसे आपने कांटा है)

आप मूल रेपो से प्राप्तupstream करने के लिए उपयोग करेंगे (जिस परियोजना में आप योगदान करना चाहते हैं, उस परियोजना के साथ अपनी स्थानीय प्रति को समरूप रखने के लिए)।

git fetch upstream

( git fetchअकेले originडिफ़ॉल्ट रूप से प्राप्त होगा , जो कि यहां आवश्यक नहीं है)

आप का उपयोग करेगा originकरने के लिए पुल और धक्का के बाद से आप अपने खुद के भंडार में योगदान कर सकते हैं।

git pull
git push

(फिर, मापदंडों के बिना, 'मूल' डिफ़ॉल्ट रूप से उपयोग किया जाता है)

आप upstreamएक पुल अनुरोध करके रेपो में वापस योगदान देंगे ।

कांटा और ऊपर की तरफ


11
यह यह जानने में भी मदद करता है कि upstreamआम तौर पर क्या होता है: stackoverflow.com/questions/2739376/…
VONC

2
@MaxRydahlAndersen सच है, लेकिन मुझे बिना आवरण के Git का उपयोग करना पसंद है, इसलिए मैं अभी उस सम्मेलन (अपस्ट्रीम बनाम मूल) को रखूंगा।
वॉनक

22
अब तक सबसे अच्छा स्पष्टीकरण कि कांटे कैसे काम करते हैं जो मैंने देखा है। तुम मेरा उत्थान करो।
कोडिंप जू

9
दृश्य पर शानदार काम। बहुत सीधे आगे और समझने योग्य उत्तर। यह ठीक वही है जिसकी मुझे तलाश थी।
तेओपी

1
@ यमुद्र यदि git रिमोट -v मूल और अपस्ट्रीम के लिए एक ही url दिखाता है, तो हाँ, आप उसी दूरस्थ रिमोट को आगे बढ़ा रहे हैं।
VonC
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.