2011-04-05 13 views
45

मेरे पास मेरी स्थानीय शाखा में एक प्रतिबद्ध xyz है जो मैं जांचना चाहता हूं कि यह रिमोट रिलीज रिपॉजिटरी में शामिल है या नहीं; क्या मैं इसे कुछ आसान तरीके से कर सकता हूं? मैं रिमोट रेपो क्लोन कर सकता था, लेकिन मैं एक अच्छा + तेज तरीका की उम्मीद कर रहा हूं। git ls-remote आशाजनक लग रहा था, लेकिन वहां मेरे लिए कुछ भी मूल्य नहीं मिला। धन्यवाद!गिट: रिमोट रेपो में xyz प्रतिबद्ध करें या नहीं?

उत्तर

69

मान लीजिए कि रिमोट रिपोजिटरी को संदर्भित रिमोट को origin कहा जाता है।

git fetch origin 

अब आप पता लगाने के लिए जो रिमोट शाखाओं में से है, जो प्रतिबद्ध git branch के लिए उपयोगी --contains विकल्प का उपयोग कर सकते हैं:: उस मामले में, पहले के साथ अपने सभी दूरस्थ ट्रैकिंग शाखाओं अद्यतन

git branch -r --contains xyz 

(-r का अर्थ केवल रिमोट-ट्रैकिंग शाखाओं को दिखाने का है।) यदि xyz प्रतिबद्धता आपके एक या अधिक रिमोट-ट्रैकिंग शाखाओं में निहित है, तो आपको आउटपुट दिखाई देगा:

origin/test-suite 
    origin/HEAD -> origin/master 
    origin/master 

यदि यह आपके स्थानीय भंडार में निहित है, लेकिन रिमोट-ट्रैकिंग शाखाओं में से एक नहीं है, तो आउटपुट खाली हो जाएगा। हालांकि, यह है कि अगर प्रतिबद्ध बिल्कुल, आप त्रुटि malformed object name और एक उपयोग संदेश मिलेगा अपने भंडार में ज्ञात नहीं है - यदि आप इसे अपेक्षा नहीं कर रहे शायद थोड़ा भ्रमित ...

+2

की तरह अपने आप पता लगा नहीं किया जा सकता के साथ ऐसा करने का कोई तरीका है गिट नलसाजी? –

+1

@ डीपीके: मैं शायद 'गिट फॉर-प्रत्येक-रेफरी' के साथ रिमोट-ट्रैकिंग शाखाओं पर फिर से प्रयास करता हूं और जांच करता हूं कि क्या प्रत्येक शाखा में यह प्रतिबद्धता है कि 'गिट मर्ज-बेस ' ' '। –

9

जैसा मार्क ने कहा कि ,

git branch -a --contains commitish 

हालांकि, शाखाओं कि प्रतिबद्ध के एक चेरी उठाया/रिबेस/मर्ज किए गए संस्करण हो के लिए सावधान रहना।

यह आसान

git log --cherry-pick --left-right <commitish> ^remote/branchname 

में आते हैं यह सूची जाएगा प्रतिबद्ध केवल अगर यह दूरस्थ शाखा में (एक cherrypick के रूप में) मौजूद नहीं है हो सकता है। कैसे --cherry चुन सकते हैं जहाँ पर एक विवरण के लिए लॉग के लिए आदमी पृष्ठ देखें पहचानती है बराबर करता

बेशक

विलीन हो जाती है/संघर्ष के संकल्प या स्क्वैश के साथ rebases इस

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