2011-06-30 9 views
5

गिथब में एक सुविधा है जहां आप HTML पेज डाल सकते हैं। (Details here)।जब आप github पृष्ठों को सेट करते हैं तो अनचाहे फ़ाइलों को खोना क्यों आवश्यक है?

वैसे भी, मैंने हाल ही में उपर्युक्त पृष्ठ को रखने के लिए इसका उपयोग किया था। ऐसा करने के निर्देशों की मूल बातें हैं:

// In order to create a new root branch, first ensure that your working directory is clean by committing or stashing any changes. The following operation will lose any uncommitted files! You might want to run this in a fresh clone of your repo. 

$ cd /path/to/fancypants 
$ git symbolic-ref HEAD refs/heads/gh-pages 
$ rm .git/index 
$ git clean -fdx 

// After running this you’ll have an empty working directory (don’t worry, your main repo is still on the master branch). Now you can create some content in this branch and push it to GitHub. For example: 

$ echo "My GitHub Page" > index.html 
$ git add . 
$ git commit -a -m "First pages commit" 
$ git push origin gh-pages 

तो यह ठीक हो गया; विज्ञापित के रूप में, मेरी अनचाहे फ़ाइलों को मिटा दिया गया था, लेकिन मैं डीआईआर की एक प्रति बनाउंगा और जो आवश्यक था उसे वापस ले जाया गया। शाखाओं के बीच आगे और पीछे स्विच करना (मैं स्मार्टगिट का उपयोग करता हूं) अनचाहे फ़ाइलों को मिटा नहीं देता है।

हालांकि, मुझे गिट के अपने बहुत ही बुनियादी ज्ञान का विस्तार करने में दिलचस्पी है, और मुझे आश्चर्य है कि पहली बार ग़ैर-पेज स्थापित किए जाने पर अनचाहे फ़ाइलों को मिटा देना क्यों आवश्यक था। मैंने सोचा होगा कि gh-pages शाखा को सेट करना, HTML फ़ाइल को जोड़ना और प्रतिबद्ध करना संभव होगा और बिना किसी अवांछित फ़ाइलों को प्रभावित किए, इसे दबाएं। और फिर बस मूल शाखा में वापस स्विच करें।

उत्तर

0

समस्या git clean git clean को हटा वर्तमान कार्यशील पेड़ से किसी भी ट्रैक न किए गए फ़ाइल था।

आप अनचाहे फ़ाइलों के लिए .gitignore फ़ाइलों को सेट कर सकते हैं और -x ध्वज दूर छोड़ सकते हैं। आपको मैनपेज पर git-clean पर एक नज़र डालना चाहिए। यदि आपके पास यूनिक्स सिस्टम नहीं है: http://linux.die.net/man/1/git-clean

+0

हे सब, सभी उत्तरों के लिए धन्यवाद! उन्होंने मुझे गिट के बारे में कुछ और सिखाया है, जिसे मैं बहुत सराहना करता हूं। –

+1

कोई समस्या नहीं @ केनेथ मैकडॉनल्ड्स, कृपया उत्तर में से किसी एक को स्वीकार करने के लिए मत भूलना। –

4

सर्वश्रेष्ठ शर्त, एक नया क्लोन बनाएं और इसमें ऐसा करें। यदि आप पूरी तरह चाहिए रेपो आप वर्तमान में काम कर रहे हैं में यह है, git checkout --orphan gh-pages

+0

घोड़े के मुंह से बाहर! – Kzqai

+0

मैं कोई घोड़ा नहीं है! तनुकी या भालू ^^ – Tekkub

+0

चुनौती स्वीकार कर ली गई! – Kzqai

1

का प्रयास करें क्योंकि Git पृष्ठों वेब फ़ाइलों (उदा .html) के बजाय स्रोत फ़ाइलों के लिए है यह। तो ये निर्देश आपको बता रहे हैं कि सभी स्रोत फ़ाइलों के बिना पूरी तरह से साफ शाखा (जो सामान्य व्यवहार में आप नहीं करना चाहते हैं) बनाने के लिए, केवल वेब-सेवा-सक्षम-ऑन-गीथब फ़ाइलें, एचटीएमएल, सीएसएस, जावास्क्रिप्ट।

तो यदि आप साफ करना चाहते हैं, तो आप इसे इस तरह से कर सकते हैं। यदि आप पूरी तरह से गंदे के साथ ठीक हैं, तो आप शायद एक शाखा (गिट शाखा gh-pages) बनाने और उसे धक्का देने का प्रयास कर सकते हैं। मुझे लगता है कि मैंने पहले ऐसा किया है और यह ठीक काम करता है, खासकर जब मैं रिपोजिटरी में बस वेब-सर्विसेबल सामान से निपट रहा था।

3

यदि आप git clean आदेश ड्रॉप और git add <files> बजाय git add . कर रूट निर्देशिका के बिना gh-pages शाखा बना सकते हैं।

cd /path/to/fancypants 
git symbolic-ref HEAD refs/heads/gh-pages 
rm .git/index 
echo "My GitHub Page" > index.html 
git add index.html 
git commit -a -m "First pages commit" 
git push origin gh-pages 

मुझे लगता है कि वे दिशाओं तरह वे सरलता के और "fanciness" से बचने के लिए करते हैं व्यक्त: यह कार्यप्रवाह होगा।

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

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