2012-06-22 14 views
5

मुझे git diff branch1 branch2 पता है। हालांकि, मैं केवल एक शाखा में पेश किए गए परिवर्तन देखना चाहता हूं।एक शाखा में पेश किए गए परिवर्तन दिखाने के लिए दो शाखाओं को अलग करना

git checkout branch1 
git merge branch2 
git reset origin/branch1 
git diff 

वहाँ यह करने के लिए एक छोटा रास्ता नहीं है: मैं के साथ इस कार्यक्षमता प्राप्त कर सकते हैं?

उत्तर

9

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

git diff branch1...branch2 

(n OTE तीन बिंदुओं देखते हैं कि)

... जो बाद से यह branch1 (या, सख्ती से अलग से कहा जाये तो मर्ज आधार के बाद से) आप सभी परिवर्तनों branch2 पर शुरू दिखाएगा। .. और ...git diff और git log के विभिन्न उपयोग थोड़ा उलझन में हो सकते हैं, इसलिए आपको this answer उपयोगी में चित्र मिल सकते हैं।

+0

हैलो सर। अच्छा उत्तर। मैं आपके ट्रैक रिकॉर्ड से देखता हूं कि मैं बड़े लड़कों के साथ गिट जवाबों पर प्रतिस्पर्धा करने की कोशिश कर रहा हूं ... :-) –

+0

@Alex: ठीक है, श्रीमान! मैं आशा करता हूँ कि तुम ठीक हो। जैसा कि होता है मैं इस समय कभी-कभी गिट टैग की जांच कर रहा हूं, लेकिन यह निश्चित रूप से पालन करने के लिए एक अच्छा है –

3

आप दो शाखाओं, जिसके लिए आप Git मर्ज आधार का उपयोग का सबसे हाल ही आम जड़ के हैश खोजने की जरूरत है:

git merge-base branch1 branch2 
फिर

से के बाद आपको लगता है कि से परिवर्तनों का लॉग प्राप्त कर सकते हैं Git लॉग के साथ शाखा सिर करने के लिए आम जड़:

git diff <common base hash>..branch2 
+0

यह लगभग सही है। मैंने 'गिट diff <सामान्य आधार हैश> .. शाखा 2' का उपयोग किया। 'गिट लॉग के बजाय ...'। क्या आप अपना उत्तर अपडेट कर सकते हैं? तो मैं इसे सही के रूप में चिह्नित करूंगा। –

+0

@Vlad। सब कुछ कर दिया। हालांकि मार्क ने एक संक्षिप्त संक्षिप्त उत्तर प्रदान किया है। मैं उसे बदले में टिक दूँगा! –

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

  • कोई संबंधित समस्या नहीं^_^