2012-06-17 10 views
12

हम संस्करण नियंत्रण के लिए गिट का उपयोग कर रहे हैं और अभी हालिया संस्करण को अपलोड करने का प्रयास करते समय हमें बहुत सारी चेतावनियां मिल रही हैं। मैं गिट करने के लिए नया हूं और प्रतिबंधों के लिए धैर्य नहीं रखता हूं, क्या सबकुछ हटाने और वर्तमान संस्करण अपलोड करने का कोई तरीका है?सब कुछ हटाएं और नया संस्करण अपलोड करें

यह अपलोड करने का प्रयास करते समय मुझे यही मिलता है।

$ git push origin master 
Username for 'https://code.google.com': 
Password for 'https://<removed>@code.google.com': 
To https://code.google.com/p/<removed>/ 
! [rejected]  master -> master (non-fast-forward) 
error: failed to push some refs to 'https://code.google.com/p/<removed>/' 
hint: Updates were rejected because the tip of your current branch is behind 
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull') 
hint: before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 
+2

यह आपके द्वारा किए जा रहे आदेशों के अनुक्रम को दिखाने में मदद करेगा और आउटपुट आपको –

+0

"सब कुछ हटाएं और वर्तमान संस्करण अपलोड करें" लगता है जैसे आप संस्करण नियंत्रण के लिए गिट का उपयोग नहीं कर रहे हैं लेकिन इसे एक विकल्प के रूप में उपयोग कर रहे हैं एक प्रकाशन उपकरण। क्या आप जो चेतावनियां प्राप्त कर रहे हैं उन्हें पोस्ट कर सकते हैं?भले ही आपके पास उन्हें समझने का धैर्य न हो, फिर भी किसी और को यह करना होगा कि वे मदद करने में सक्षम होंगे। –

+0

मैंने उन संकेतों को चिपकाया जिन्हें मैं अभी प्राप्त कर रहा हूं। मैं समझ गया कि मुझे पहले क्या मिला लेकिन यह अनावश्यक लग रहा था क्योंकि मेरी गणना पर कोड अच्छी तरह से काम करता था और ऑनलाइन संस्करण पर कोड पुराना था। मैं सिर्फ ताजा शुरू करना चाहता था। ऐसा क्यों गलत है मुझे पता नहीं है – zehelvion

उत्तर

18

1.) अपने भंडार फ़ोल्डर

2.) चलाने git rm * सभी फाइलों को दूर करने के लिए Git बताने के लिए (git status के साथ जांच कोई unstaged फ़ाइलों बाईं हैं या नहीं)

3 में सब कुछ को हटा दें।) एक git commit -a -m "commitmessage" एक git push origin master दूरस्थ Git सर्वर

4.) की जाँच करता है, तो आप एक खाली दूरस्थ भंडार अब

है पर सभी फाइलों को नष्ट करना है

5.) स्थानीय भंडार फ़ोल्डर

6.) चलाने git add * के लिए सभी नए फ़ाइलों की प्रतिलिपि सभी नई फ़ाइलों को जोड़ने के लिए Git बताने के लिए (git status किसी भी unstaged फ़ाइलों बाईं देखते हैं कि क्या के साथ जांच)

7।) नई फाइलें

अब आपके रिमोट गिट रिपॉजिटरी पर संस्करण होना चाहिए।

+0

नमस्ते, मैंने जो परिणाम प्राप्त किया है, मैंने चिपकाया, क्या आप मदद कर सकते हैं? – zehelvion

+1

क्यों 'पुश-एफ' गिट नहीं किया जा सका? –

+0

मुझे पता था कि समस्या पुश कमांड है इससे पहले मैंने जवाब लिखा था। मैंने सोचा कि आर्थर को "नया शुरू करने" के बारे में नहीं पता है। संपादित प्रश्न में, मुझे लगता है कि 'गिट पुश-एफ' काम करेगा, भले ही मुझे पूरा यकीन न हो, भले ही रिमोट गिट रिपोजिटरी आप जो अपेक्षा करेगी वह करेगी। –

12

आप धक्का देने में असमर्थ हैं क्योंकि रिमोट पर प्रतिबद्ध हैं जो उस प्रतिबद्धता में विलय नहीं कर रहे हैं जिसे आप धक्का देने की कोशिश कर रहे हैं। यदि आप वर्तमान में रिमोट में मौजूद सभी परिवर्तनों को त्यागना चाहते हैं तो आप ऐसा कुछ कर सकते हैं।

git fetch 
git merge -s ours origin/master 
git push origin master 

नोट इस परिवर्तन है कि दूरदराज के कि आप अपने स्थानीय भंडार में नहीं है में पेश किया गया है फेंक देता है।

+0

, नए गिट संस्करणों में मर्ज कमांड में '--allow-unrelated-histories' जोड़ें। –

2

आप रूप में यदि वे पहली जगह में धक्का दे दिया नहीं कर रहे थे this answer पर ताजा, तो आधार शुरू करने के लिए आप निम्न

भागो निम्नलिखित कर सकता है स्थायी रूप से दूरस्थ रिपोजिटरी से और बीती बातों की जांच में फ़ाइलों को हटाना चाहते हैं स्थानीय स्तर पर (ध्यान * हर फ़ोल्डर/फ़ाइल हटा देता है):

git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch *" -- --all 

अब यह Git संदर्भ अद्यतन करने के लिए स्थानीय स्तर पर लागू करने के लिए यह सब इतिहास यह उन फ़ाइलों में से था भूल करने का समय है

rm -rf .git/refs/original/ 

git reflog expire --expire=now --all 

git gc --prune=now 

git gc --aggressive --prune=now 

अब एक बल के साथ दूरदराज के भंडार के सभी परिवर्तनों को धक्का सुनिश्चित करने के लिए दूरदराज के रेपो भी उन सभी फाइलों को

git push --all --force 

इस दूरदराज के भंडार को साफ होगा कोई फ़ाइल के रूप में करता है, तो कभी अस्तित्व में साफ करता है।

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