2015-02-27 6 views
5

हम एक गिट-फ्लो शैली वर्कफ़्लो का उपयोग कर रहे हैं, और हम यह जानना चाहते हैं कि किस पुल अनुरोध में कोड की किसी दिए गए पंक्ति में परिवर्तन शामिल हैं।मर्ज प्रतिबद्धता को खोजें जो किसी दिए गए लाइन को संशोधित करता है?

मान लीजिए कि हमें निम्नलिखित इतिहास है:

 c---e---g 
    /  \ 
-a---b---d---f---h--- master 

मेरे पुल अनुरोध संदेश के लिए प्रतिबद्ध "मर्ज पुल अनुरोध # 123" के साथ h में विलय हो गया।

यदि मैं पुल अनुरोध में जोड़े गए कोड की लाइनों पर गिट दोष देता हूं, तो यह मुझे h के बजाय e दिखाता है।

12345678 (Wilfred Hughes   2015-02-02 15:22:40 +0000 402) # Some old code 
e  (Wilfred Hughes   2015-02-12 15:22:40 +0000 402) # Added in the PR, line 1 
e  (Wilfred Hughes   2015-02-12 15:22:40 +0000 403) # Added in the PR, line 2 
56789012 (Wilfred Hughes   2015-02-26 17:24:18 +0000 404) # More old code 

मैं गिट में कोड की दी गई रेखा के लिए विलय प्रतिबद्धता कैसे प्राप्त कर सकता हूं?

(नोट यह this related question से अलग है क्योंकि मैं कोड की लाइनों से शुरू कर रहा हूं, काम नहीं करता)।

+0

में जवाब आप 'Git लोग इन --reverse --merges --topo-आदेश की कोशिश की है में रुचि रखते हैं। यह प्राप्त किया जा सकता ..'? पहली प्रविष्टि प्रतिबद्ध 'एच' के अनुरूप होना चाहिए। – Jubobs

+0

आप इस प्रश्न का उपयोग कर सकते हैं http://stackoverflow.com/q/8475448/2082964: एक निश्चित प्रतिबद्धता के बाद विलय कैसे प्राप्त करें –

उत्तर

2

एक विलय-प्रतिबद्धता केवल गिट-दोष में दिखाई देगी यदि आपने उस प्रतिबद्धता में संघर्ष का समाधान किया था।

संघर्ष के बिना सामान्य मर्ज करने की हो, Git दोष में दिखाई देते हैं कभी नहीं होगा के रूप में यह कोड के किसी भी लाइन में परिवर्तन नहीं किया और केवल जी और विलय कर दिया।

तो क्या आप चाहते हैं 2 चरणों

  1. में प्राप्त किया जा सकता पहले लगता है जो कोड आप में रुचि रखते हैं के असर पड़ा लाइन के लिए प्रतिबद्ध है। यह (Git दोष -L विकल्प के माध्यम से प्राप्त किया जा सकता Git 1.8 में आता है। 4)। 10+ लाइनों की एक श्रृंखला दें क्योंकि संभवतः सटीक लाइन नंबर बदल सकता है।

    $ Git दोष -L200, + 10 - filename.ext

  2. पहले मर्ज का पता लगाएं निम्न चरण में पाया प्रतिबद्ध प्रतिबद्ध 1 तो आप पहली बार लगता है जो प्रतिबद्ध की लाइन पर क्या प्रभाव पड़ता कोड के रूप में आप Find merge commit which include a specific commit

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