2011-10-29 14 views
30

मुझे पता है कि अगर अपने स्थानीय रेपो अप टू डेट है (और यदि नहीं, आदर्श, मैं परिवर्तन देखने के लिए चाहते हैं) चाहते हैं।गिट: कैसे स्थानीय रिपो अद्यतित है या नहीं?

मैं इस git fetch या git pull कर बिना जांच कर सकता है?

उत्तर

46

प्रयास करें git fetch --dry-run पुस्तिका (git help fetch) का कहना है:

--dry-run 
Show what would be done, without making any changes. 
+2

धन्यवाद! हालांकि, यह कठिन है आउटपुट से समझने के लिए कि कौन सी फाइलें/संशोधित/हटा दी गई थीं। –

+0

आपको यह देखने के लिए मिलता है कि कौन से टैग अपडेट किए गए हैं और प्रारंभिक .. विभिन्न शाखाओं के लिए प्रतिबद्धता सीमा। यदि यह पर्याप्त नहीं है, तो इसे उचित लांच (खींचें) के रूप में करें जो आपको अपने स्वयं के शाखा कार्य को प्रभावित किए बिना रिमोट की उचित, अलग, स्थानीय प्रतिलिपि देगा। एक पुल दो को मर्ज करने का प्रयास करेगा, जो आप नहीं चाहते हैं। डाटा ट्रांसफर वही है चाहे आप - रन-रन या नहीं। –

0

यह असंभव है। तुम्हें कैसे पता कर सकते हैं या नहीं, भंडार है "अप-टू-डेट" दूरस्थ भंडार के लिए जा रहा है देखने के लिए क्या "अप करने की तारीख" भी साधन के बिना?

+2

कृपया पुष्टि करें कि! आपने अभी जवाब दिया है कि आप क्या सोचते हैं! आपको और सावधान रहना चाहिए क्योंकि नए लोग इसके साथ गिर जाएंगे! –

+3

@AmanuelNega: यह सिर्फ मूल तर्क है। यदि आप जानना चाहते हैं कि आपका स्थानीय रेपो रिमोट रेपो के समान राज्य में है, तो आपको रिमोट रेपो की स्थिति जाननी होगी। अवधि। यदि आप रिमोट रेपो की स्थिति नहीं जानते हैं, तो आप संभवतः यह नहीं जान सकते कि स्थानीय रिपो एक ही राज्य में है या नहीं। ध्यान दें कि उच्चतम मतदान और स्वीकृत उत्तर 'गिट पुल' का उपयोग करता है, जिसे ओपी स्पष्ट रूप से अपने प्रश्न में मना कर देता है। –

+1

सूचित रहें! 'गिट स्टेटस- यह' काम करता है और सभी मास्टर शाखाओं की स्थिति देखने के लिए 'गिट शो-शाखा * मास्टर' का भी उपयोग कर सकते हैं! क्या आप अभी भी कह रहे हैं कि यह असंभव है?जब तक आपके पास रिमोट तक पहुंच हो, तब तक आप किसी भी शाखा की स्थिति देख सकते हैं! –

5

नहीं वास्तव में - लेकिन मैं नहीं दिख रहा है वह अपने स्थानीय शाखाओं में से किसी में परिवर्तन नहीं होगा के रूप में कैसे git fetch चोट होगी।

2

आप git fetch चलाना चाहिए इससे पहले कि आप अपने दूरस्थ सर्वर पर फ़ाइलों के खिलाफ अपने स्थानीय भंडार की तुलना कर सकते हैं।

यह आदेश केवल आपकी दूरस्थ ट्रैकिंग शाखाओं को अपडेट करता है और जब तक आप git merge या git pull पर कॉल नहीं करते हैं, तब तक आपके वर्कट्री को प्रभावित नहीं करेंगे।

अपनी स्थानीय शाखा और अपने रिमोट ट्रैकिंग शाखा के बीच अंतर को देखने के लिए एक बार आप दिलवाया गया है आप git diff or git cherry as explained here.

5

उपयोग कर सकते हैं आप अगर अपनी स्थानीय शाखा है की जाँच करने के git status -uno उपयोग कर सकते हैं अप करने की तारीख मूल एक के साथ ।

+3

यह केवल स्थानीय स्थिति देता है, रिमोट शाखा से जांच नहीं करता है। –

2

एक अन्य विकल्प एक तुलना के रूप में उपयोग करने के लिए सभी रिमोट में शाखा के साथ ही अपने भंडार को देखने के लिए आप git show-branch *branch देख सकते हैं git show-branch remote/branch का उपयोग कर दूरस्थ शाखा की स्थिति देखने के लिए है! के लिए इस उत्तर की जाँच अधिक https://stackoverflow.com/a/3278427/2711378

1

आप दो आदेश जारी करना होगा:

  1. Git लाने मूल
  2. Git स्थिति
0

उपयोग

git pull 

यदि आपका शाखा अद्यतित है आपको निम्न संदेश प्राप्त होगा:

"पहले से ही अप-टू-डेट।"

2
git remote show origin 

परिणाम:

HEAD branch: master 
    Remote branch: 
    master tracked 
    Local branch configured for 'git pull': 
    master merges with remote master 
    Local ref configured for 'git push': 
    master pushes to master (local out of date) <------- 

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

  • कोई संबंधित समस्या नहीं^_^