2012-05-18 16 views
8

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

मैंने स्थानीय में कुछ फ़ाइलों को हटा दिया, इस बदलाव को किया, फिर 'गिट पुश मूल मास्टर' किया, जो सफलतापूर्वक काम करने के लिए दिखाई दिया। 'गिट स्टेटस' अब स्थानीय में प्रतिबद्ध करने के लिए कुछ भी नहीं दिखाता है।

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

+0

आपका रिमोट रेपो * नंगे * क्यों है? – ThiefMaster

+0

आह, मुझे एहसास नहीं हुआ कि मुझे इसे इस तरह से स्थापित करना था। क्या मैं इसे फिर से 'गिट इनिट' चलाकर बदल सकता हूं, या फिर मुझे अपने रिमोट रेपो को स्थापित करने के साथ फिर से शुरू करना होगा? धन्यवाद! – jam

+0

मैंने अपने जवाब को अद्यतन किया है ताकि इसे नंगे बनाने के निर्देशों को शामिल किया जा सके। – ThiefMaster

उत्तर

5

समस्या यह है कि आप स्पष्ट रूप से एक गैर-नंगे भंडार को दबाते हैं। एक पुश रिमोट वर्किंग कॉपी कभी अपडेट नहीं करेगा।

गैर नंगे दूरस्थ भंडार तारीख तक लाने के लिए, मशीन जहां रेपो SSH के माध्यम से स्थित है से कनेक्ट और git reset --hard HEAD और git checkout -f चलाने जबरदस्ती काम कर ऊपर कॉपी लाने के लिए करने के लिए Git push only for bare repositories? पर एक नज़र और http://gitready.com/advanced/2009/02/01/push-to-only-bare-repositories.html

है आज तक (ध्यान दें कि इससे उस कामकाजी प्रति में किए गए किसी भी स्थानीय बदलाव को नष्ट कर दिया जाएगा)।

अपने रिमोट रिपोजिटरी को नंगे बनाने के लिए, मशीन से एसएसएच के माध्यम से कनेक्ट करें ताकि आप इसे सीधे एक्सेस कर सकें। भंडार मान लिया जाये कि एक सबफ़ोल्डर repo निम्नलिखित कमांड चलाने में है:

mv repo repo_old 
git clone --bare repo_old repo 

फिर अगर सब कुछ काम करता है परीक्षण करने और इस rm -rf repo_old के बाद वर्ष एक से छुटकारा पाने के।

+0

यह मेरे लिए काम नहीं किया। मैं बिटबकेट का उपयोग कर रहा हूँ – Vikki

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