फ़ाइलों की तुलना करने के लिए दो परिदृश्य हैं:
परिदृश्य 1: दूरस्थ शाखाओं की फाइलों की तुलना करें (दोनों शाखाएं दूरस्थ भंडार पर मौजूद होनी चाहिए)
परिदृश्य 2: दूरस्थ रिपॉजिटरी में फ़ाइलों की तुलना स्थानीय फ़ाइलों (स्थानीय कार्य क्षेत्र की प्रतिलिपि पर) से करें।
तर्क सरल है। यदि आप अंतर करने के लिए दो शाखा नाम प्रदान करते हैं, तो यह हमेशा दूरस्थ शाखाओं की तुलना करेगा, और यदि आप केवल एक शाखा नाम प्रदान करते हैं, तो यह हमेशा दूरस्थ रेपो (आपके द्वारा प्रदान की गई) के साथ आपकी स्थानीय कार्य प्रतिलिपि की तुलना करेगा। आप दूरस्थ रिपॉजिटरी प्रदान करने के लिए रेंज का उपयोग कर सकते हैं।
उदा। एक शाखा की जाँच करें
git checkout branch1
git diff branch2 [filename]
इस मामले में, यदि आप फ़ाइल नाम प्रदान करते हैं, तो यह " शाखा 2 " नामक दूरस्थ शाखा के साथ फ़ाइल नाम की आपकी स्थानीय प्रतिलिपि की तुलना करेगा ।
git diff branch1 branch2 [filename]
इस मामले में, यह "नाम दूरस्थ शाखाओं से फ़ाइल नाम की तुलना करेंगे Branch1 बनाम" " Branch2 "
git diff ..branch2 [filename]
इस मामले में भी, यह "नाम दूरस्थ शाखाओं से फ़ाइल नाम की तुलना करेंगे Branch1 " बनाम " Branch2 "। तो, इसके ऊपर के रूप में ही है। हालाँकि, यदि आपने दूसरी शाखा से एक शाखा बनाई है, तो "मास्टर" कहें और आपकी वर्तमान शाखा दूरस्थ रिपॉजिटरी में मौजूद नहीं है, यह दूरस्थ " मास्टर " बनाम रिमोट " ब्रांच 2 " की तुलना करेगी ।
आशा है कि यह उपयोगी है।
git diff branch1 branch2 myfile.cs
। (--
अब और आवश्यक नहीं होना चाहिए, क्योंकि यह केवल दो संशोधन तर्क तक ले जा सकता है।)