2015-10-15 14 views
5

मैं हाल ही में एसवीएन से गिट में स्थानांतरित हो गया, और गिट के आसपास अपना रास्ता सीखने की कोशिश कर रहा था। मुझे उन फ़ाइलों को ढूंढना होगा जो मेरी रिपॉजिटरी की 2 शाखाओं के बीच बदल गए हैं। मुझे लगता है कि करने के लिए निम्न आदेश का उपयोग:गिट diff महत्वाकांक्षी तर्क त्रुटि देता है

git diff branch_2..branch_1 

मैं follwing त्रुटि मिलती है:

fatal: ambiguous argument 'branch_2..branch_1': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...]' 

Git शाखा निम्नलिखित ओ/पी देता है:

git branch -a 
* branch_1 
master/origin 
remotes/origin/HEAD -> origin/master 
remotes/origin/branch_2 
remotes/origin/branch_1 
+0

यह एक मूर्खतापूर्ण सवाल हो सकता है, लेकिन आप एक 'Git शाखा -a' कि सूची में अपने शाखाएं हैं करते हैं? – idjaw

+0

हाँ, वे हैं। – am28

+0

क्या आप अपनी सूची में उन दो शाखाओं को सूचीबद्ध कर सकते हैं? – idjaw

उत्तर

11

आप बस कर रहे हैं:

git diff branch2..branch1 

यह नहीं होगा काम, जैसा कि आपकी गिट शाखा सूची में सूचीबद्ध है, आपके 'रिमोट' को "मूल" के रूप में निर्दिष्ट किया गया है। इसका वास्तव में क्या अर्थ है कि आपके पास उन रिमोट पर शाखाएं हैं, लेकिन वास्तव में उन्हें स्थानीय रूप से चेक नहीं किया जाता है।

तो आपके पास यहां दो विकल्प हैं। इन्हें आज़माएं, और मुझे बताएं कि यह कैसा चल रहा है।

प्रदान की शाखा सूची के आधार पर:

Diff का उपयोग कर मूल/

git diff origin/branch2..branch1 

आप स्थानीय रूप से इन शाखाओं चेकआउट करने के लिए अपने diff प्रदर्शन करने के लिए और शायद अपने वर्कस्टेशन पर उन पर काम करना चाहते हैं। इसके अलावा, इस प्रारूप में अंतर समर्थन:

git diff branch2..branch1 

आपको बस इतना करना वास्तव में उन्हें अपने रिमोट से स्थानीय शाखाओं के रूप में स्थापित करने के लिए उन शाखाओं चेकआउट है की जरूरत है। बस इस कार्य करें:

git checkout branch2 

तो फिर तुम क्या कर सकते हैं

git diff branch2..branch1 
+2

सही काम किया !! – am28

संबंधित मुद्दे