স্ট্যাটাসটি আপনাকে যা বলছে তা হ'ল আপনি রেফ নামক রেফের পিছনে 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সর্বশেষ লাইভ স্ট্যাটাসের সাথে আপ-টু-ডেট" সমান নয় এমন "প্রবাহের সর্বশেষ লাইভ স্ট্যাটাসের সাথে আপ-টু-ডেট" সমান নয় এমন " প্রবাহের স্থিতির সাথে সাম্প্রতিক সময়ের সমাপ্তি যেটি আমরা গতবার করেছি " stream
কেন এটি এভাবে কাজ করে? ভাল fetchধাপটি একটি সম্ভাব্য ধীর এবং ব্যয়বহুল নেটওয়ার্ক অপারেশন। গিট (এবং অন্যান্য বিতরণিত সংস্করণ নিয়ন্ত্রণ ব্যবস্থা ) এর নকশাটি অপ্রয়োজনীয় যখন নেটওয়ার্ক ক্রিয়াকলাপ এড়ানোর জন্য, এবং সাধারণ ক্লায়েন্ট-সার্ভার সিস্টেমের সম্পূর্ণ ভিন্ন মডেল হিসাবে অনেক লোক ব্যবহৃত হয় (যদিও নীচের মন্তব্যে উল্লেখ করা হয়েছে, গিটের ধারণাটি একটি "রিমোট ট্র্যাকিং শাখা" এর ফলে এখানে বিভ্রান্তির সৃষ্টি হয় সমস্ত ডিভিসিএস শেয়ার করে না)। কোনও কেন্দ্রীয়ীকৃত সার্ভারের সাথে কোনও সংযোগ না রেখে গিট অফলাইনে ব্যবহার করা সম্পূর্ণভাবে সম্ভব এবং এর আউটপুট এটি git statusপ্রতিফলিত করে।
গিটে শাখা তৈরি এবং স্যুইচিং (এবং তাদের অবস্থা পরীক্ষা করা) হালকা ওজনের বলে মনে করা হয়, এটি কেন্দ্রীয়ীকৃত সিস্টেমে ধীর নেটওয়ার্ক অপারেশন করে এমন কিছু নয়। গিট এবং git statusআউটপুট ডিজাইন করার সময় এই ধারণাটি ছিল যে ব্যবহারকারীরা এটি বুঝতে পারে (গিট কীভাবে কাজ করে তা ইতিমধ্যে আপনি যদি জানেন তবেই খুব বেশি গিট বৈশিষ্ট্যগুলি তখনই বোধগম্য হয়)। প্রচুর এবং প্রচুর ব্যবহারকারী যারা ডিভিসিএসের সাথে পরিচিত নয় তাদের দ্বারা গিট গ্রহণের সাথে এই অনুমানটি সর্বদা বৈধ হয় না।