किसी को दो शाखाओं के बीच पिछली विलय प्रतिबद्धता कैसे मिल सकती है?पिछले विलय प्रतिबद्धता को कैसे ढूंढें
मैं पिछली बार मैं मास्टर शाखा में रिलीज शाखा विलय कर दिया है के बाद से मेरे मालिक शाखा में परिवर्तन देखने के लिए चाहते हैं। पिछली शाखा के बाद रिलीज शाखा में हुए बदलावों को देखने के लिए, git diff ...release
पर स्पष्ट रूप से git diff release...
काम नहीं करता है क्योंकि इसमें अंतिम विलय से पहले सभी बदलाव भी शामिल हैं। इस प्रकार मैं मैं पिछले मर्ज की आईडी प्रतिबद्ध जरूरत के लिए git diff
git log --reverse --ancestry-path `git merge-base HEAD release`.. \
--format=format:%H|head -n1
काम करने के लिए और git diff $(...)
साथ इस्तेमाल किया जा सकता लगता है इसे पारित करने लगता है, लेकिन यह बहुत जटिल लगता है। क्या कोई आसान समाधान है?
उदाहरण
I
/\
A1 B1
\ |
| M
| |
A2 B2
यहाँ I
प्रारंभिक प्रतिबद्ध है। A[12]
रिलीज है और B[12]
मास्टर काम करता है। M
पिछली प्रतिबद्धता है। उदाहरण में अंतिम विलय और मास्टर के बीच परिवर्तन केवल बी 2 द्वारा किए गए परिवर्तन हैं। git merge-base A2 B2
रिटर्न A
1. और git diff B2 A1
B1
के परिवर्तन शामिल हैं। इस प्रकार प्रश्न तो यह है कि एक मैन्युअल M
लगाने के लिए बिना git diff M B2
चला सकते हैं सामान्य और अधिक जटिल मामले में एम लगाने के लिए कैसे है।
यह सबसे कारगर तरीका नहीं है, लेकिन आप लॉग --graph --oneline' प्रतिबद्ध लगाने के लिए 'Git देख सकते हैं। – Shahbaz