किसी शाखा पर कमिट का लॉग प्राप्त करने का सबसे अच्छा तरीका क्या है क्योंकि यह वर्तमान शाखा से शाखा में था? अब तक का मेरा समाधान है:
git log $(git merge-base HEAD branch)..branch
Git-diff के लिए प्रलेखन इंगित करता है कि git diff A...B
इसके बराबर है git diff $(git-merge-base A B) B
। दूसरी ओर, गिट-रेव-पार्स के लिए प्रलेखन इंगित करता है कि r1...r2
इसे परिभाषित किया गया है r1 r2 --not $(git merge-base --all r1 r2)
।
ये अलग क्यों हैं? ध्यान दें कि git diff HEAD...branch
मुझे वह अंतर दिया जा सकता है जो मैं चाहता हूं, लेकिन संगत git लॉग कमांड मुझे जो चाहता है उससे अधिक देता है।
तस्वीरों में, मान लीजिए कि यह:
एक्स --- y --- z --- शाखा / --- एक --- ख --- ग --- घ --- ई --- HEAD
मैं एक लॉग प्राप्त करना चाहूंगा जिसमें x, y, z शामिल हों।
git diff HEAD...branch
ये कमिट करता है- हालाँकि,
git log HEAD...branch
x, y, z, c, d, e देता है।