में एक रिबेस में मतभेदों की तुलना करना मान लीजिए कि मैंने foo
पर master
पर विवादों के साथ शाखा को अभी भी rebased किया था। मैं यह सुनिश्चित करना चाहता हूं कि मैंने अतिरिक्त परिवर्तनों को शुरू करने या परिवर्तन खोने (संघर्ष समाधान के लिए उपयुक्त है) के अलावा संघर्ष समाधान के दौरान foo
की सामग्री को गलती से नुकसान नहीं पहुंचाया।गिट
diff -u <(git diff `git merge-base master [email protected]{1}` [email protected]{1}) \
<(git diff `git merge-base master foo ` foo )
(अद्यतन:: मैं के माध्यम से यह किया है या git-diff
के लिए बराबर ...
वाक्य रचना जो मैं सिर्फ :)
diff -u <(git diff [email protected]{1}) <(git diff master...foo) | mate
की याद दिला दिया है यह मैं सभी परिवर्तन को हुई है से पता चलता master..foo
पैच के रूप में माना जाता है, जो कि मैं न्यूनतम होने के लिए जांचना चाहता हूं। हालांकि, आमंत्रण जटिल है और आउटपुट पूरी तरह से व्याख्या करने के लिए सरल नहीं है।
क्या यह कार्य पूरा करने का एक बेहतर तरीका है - एक ही जानकारी प्रदान करने के लिए, लेकिन एक बेहतर विधि या प्रारूप के साथ - या क्या मुझे ऊपर ले जाना चाहिए और इसे एक स्क्रिप्ट में लपेटना चाहिए? मास्टर और रिबेस foo के बीच
क्या यह अनिवार्य रूप से 'git diff foo @ {1} foo' के बराबर नहीं है? – twalberg
@twalberg संख्या; 'गिट diff foo @ {1} foo' मेरे संघर्ष संकल्पों और मास्टर के लिए किए गए परिवर्तनों को दिखाता है जो कि मैंने संघर्ष विरोधों के बजाए, जिस पर मैं पुन: प्रयास किया था। –
आह, ठीक है ... मैं केवल अपने सबसे आम रिबेस मामले पर विचार कर रहा था, जिसमें स्रोत और गंतव्य का विलय-आधार वही रहता है (धक्का देने से पहले शाखा को पुनः लिखना/स्क्वैश करना)। – twalberg