स्टेटस आपको बता रहा है कि आप रेफ के पीछे हैं origin/master जो आपके स्थानीय रेपो में स्थानीय रेफ है । इस मामले में कि रेफ कुछ रिमोट में एक शाखा को ट्रैक करने के लिए होता है, कहा जाता है origin, लेकिन स्थिति आपको रिमोट पर शाखा के बारे में कुछ भी नहीं बता रही है। यह आपको रेफ के बारे में बता रहा है, जो आपके स्थानीय फाइल सिस्टम पर संग्रहीत एक कमिट आईडी है (इस मामले में, यह आम तौर पर .git/refs/remotes/origin/masterआपके स्थानीय रेपो नामक फाइल में है)।
git pullदो ऑपरेशन करता है; पहले यह git fetchदूरस्थ रेपो (जो origin/masterआपके स्थानीय रेपो में अद्यतन को अद्यतन करता है) के साथ अद्यतित होने के लिए करता है , फिर यह git mergeउन कमियों को वर्तमान शाखा में विलय करने के लिए करता है।
जब तक आप fetchकदम नहीं उठाते हैं (या तो अपने आप या उसके माध्यम से git pull) आपके स्थानीय रेपो को यह जानने का कोई तरीका नहीं है कि अतिरिक्त अपस्ट्रीम हैं, और git statusकेवल आपके स्थानीय origin/masterरेफरी को देखता है ।
जब git statusअप-टू-डेट कहते हैं, तो इसका मतलब है "वर्तमान शाखा को ट्रैक करने वाली शाखा के साथ अप-टू-डेट", जिसका अर्थ है "स्थानीय रेफ के साथ अप-टू-डेट origin/master"। यह केवल "अप-टू-डेट अपस्ट्रीम स्टेटस के साथ है जो पिछली बार हमने प्राप्त किया था fetch" जो कि अपस्ट्रीम की नवीनतम लाइव स्थिति के साथ "अप-टू-डेट" के समान नहीं है।
यह इस तरह से काम क्यों करता है? खैर fetchकदम एक संभावित धीमा और महंगा नेटवर्क ऑपरेशन है। जीआईटी (और अन्य वितरित संस्करण नियंत्रण प्रणाली ) का डिज़ाइन अनावश्यक होने पर नेटवर्क संचालन से बचने के लिए है, और विशिष्ट क्लाइंट-सर्वर सिस्टम के लिए एक पूरी तरह से अलग मॉडल है जो कई लोगों के लिए उपयोग किया जाता है (हालांकि जैसा कि नीचे टिप्पणी में बताया गया है, गिट की अवधारणा) "रिमोट ट्रैकिंग ब्रांच" जो भ्रम का कारण बनता है, सभी DVCS द्वारा साझा नहीं किया जाता है)। यह पूरी तरह से Git ऑफ़लाइन का उपयोग करने के लिए, एक केंद्रीकृत सर्वर से कोई संबंध नहीं है, और इसे git statusप्रतिबिंबित करने के लिए आउटपुट का उपयोग करना संभव है ।
Git में शाखाएं बनाना और उनकी स्थिति को बदलना (और उनकी स्थिति की जांच करना) हल्का होना चाहिए, न कि ऐसा कुछ जो केंद्रीय नेटवर्क प्रणाली के लिए धीमा नेटवर्क संचालन करता है। Git, और git statusआउटपुट को डिज़ाइन करते समय धारणा यह थी कि उपयोगकर्ता इसे समझते हैं (बहुत से Git फीचर्स केवल तभी समझ में आते हैं यदि आप जानते हैं कि Git कैसे काम करता है)। बहुत से और बहुत से उपयोगकर्ताओं द्वारा गिट को अपनाने के साथ जो डीवीसीएस से परिचित नहीं हैं, यह धारणा हमेशा मान्य नहीं है।