2012-01-29 19 views
32

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

+0

डुप्लिकेट [मैं गिट रेपो से फ़ाइल कैसे हटा सकता हूं?] (Http://stackoverflow.com/questions/2047465/how-can-i-delete-a-file-from-git-repo) –

उत्तर

17

हां, यदि आप git rm <filename> करते हैं और & प्रतिबद्ध करते हैं तो उन परिवर्तनों को दबाएं। फ़ाइल उस परिवर्तन और भविष्य के लिए भंडार से गायब हो जाएगी।

फ़ाइल अभी भी पिछले संशोधन के लिए उपलब्ध होगी।

0

तो git commit परिणाम काम के प्रति के ऊपर से एक git add -A करो, समीक्षा करने के लिए क्या कर रहे हैं करने के बारे में git status और/या git diff --cached पर एक नज़र डालें,।

36

आप इस तरह यह कर सकता है:

cd /tmp 
git clone /your/local/rep # make a temp copy 
cd rep 
git rm -r *    # delete everything 
cp -r /your/local/rep/* . # get only the files you want 
git add *     # add them again 
git status     # everything but those copied will be removed 
git commit -a -m 'deleting stuff' 
cd /your/local/rep 
git pull /tmp/rep   # now everything else has been removed 

शायद उस के लिए एक oneliner नहीं है ...

22

सबसे पहले, का उपयोग करते हुए अपना Git भंडार से सभी फ़ाइलों को हटा दें: git rm -r *

उसके बाद आप के लिए प्रतिबद्ध होना चाहिए : git commit -m "your comment"

इसके बाद आप इसका उपयोग करके धक्का देते हैं: git push (जो मूल रिपोजिटो अपडेट है उसके बाद git status

आप स्थानीय Git फ़ोल्डर में अपने सभी स्थानीय फ़ाइलों की प्रतिलिपि कर सकते हैं और आप उपयोग कर Git भंडार में शामिल करें: ry)

का उपयोग कर अपनी स्थिति को सत्यापित करने के लिए git add -A

आप प्रतिबद्ध (git commit -m "your comment" और आप धक्का (git push)

2

भंडार में सभी तत्वों को हटाएँ:

$ git rm -r * 

तब:

$ git commit -m 'Delete all the stuff' 
2

यह प्रक्रिया सरल है, और किसी भी गिट प्रतिबद्ध के समान प्रवाह का पालन करती है।

  1. सुनिश्चित करें कि आपका रेपो पूरी तरह अद्यतित है। (उदा: git pull)
  2. अपनी स्थानीय डिस्क पर अपने रेपो फ़ोल्डर पर नेविगेट करें।
  3. उन फ़ाइलों को हटाएं जिन्हें आप अब नहीं चाहते हैं।
  4. फिर git commit -m "nuke and start again"
  5. फिर git push
  6. लाभ।
-1

छिपा .git फ़ोल्डर हटाएँ (है कि आप अपनी परियोजना फ़ोल्डर के भीतर पता लगा सकते हैं) और फिर एक Git भंडार बनाने git init आदेश का उपयोग करने की प्रक्रिया शुरू करते हैं।

+0

ओपी रिमोट निर्दिष्ट करता है स्थानीय नहीं – Iceman

0

भंडार में सभी तत्वों को हटाएँ:

git rm -r * -f -q 

तो:

git commit -m 'Delete all the stuff' 

तो:

git push -u origin master 

तो:

Username for : "Your Username" 
Password for : "Your Password" 
संबंधित मुद्दे