2012-05-14 14 views
16

की उपनिर्देशिका से किसी शाखा की रूट निर्देशिका अद्यतन करें, गिटूब पर विकसित होने पर, मैं अक्सर अपनी मास्टर शाखा में html/ या _site/ उपनिर्देशिका बनाए रखता हूं जहां मैं प्रोजेक्ट के लिए वेब-आधारित दस्तावेज़ उत्पन्न करता हूं। मैं अपनी gh-pages शाखा और pull पर केवल html निर्देशिका की सामग्री को gh-pages शाखा की जड़ में स्विच करना चाहता हूं, इसलिए यह github के माध्यम से एक अच्छी वेबसाइट के रूप में प्रस्तुत करेगा (जो स्वचालित रूप से gh-pages में username.github.com/repositoryname पर HTML प्रस्तुत करता है)। ऐसा करने के लिए सबसे अच्छा वर्कफ़्लो क्या है?गिट: किसी अन्य

यदि मेरे पास अभी तक gh-pages शाखा सेट अप नहीं है, तो मैं शाखा को साफ़ कर सकता हूं, शाखा को साफ़ कर सकता हूं और html निर्देशिका और प्रतिष्ठा की सामग्री में प्रतिलिपि बना सकता हूं, मेरे पास एक साइट जाने के लिए तैयार है। लेकिन मुझे यकीन नहीं है कि बाद में gh-pages शाखा को कैसे अपडेट किया जाए।

git branch gh-pages 
git checkout gh-pages 
# Remove files I don't need from the gh-pages branch 
rm -rf data/ man/ R/ README.md NEWS NAMESPACE DESCRIPTION demo/ 
# move documentation to the root 
mv inst/doc/html/* . 
# remove the rest 
rm -rf inst/ 
git add * 
git commit -a -m "gh-pages documentation" 
git push origin gh-pages 
git checkout master 

अब मुझे gh-pages शाखा को अपडेट करने के लिए क्या करना चाहिए? ऐसा लगता है कि इसमें subtree merging शामिल हो सकता है लेकिन मुझे पूरा यकीन नहीं है।

उत्तर

13

अपने gh-पृष्ठों शाखा शुरू करने के लिए:

true | git mktree | xargs git commit-tree | xargs git branch gh-pages 

कुछ भी आप इसे में चाहते हैं लाने के लिए, कहते हैं कि गुरु शाखा से एचटीएमएल निर्देशिका, पढ़ने के लिए पेड़ और प्रतिबद्ध:

git checkout gh-pages 
git read-tree master:html 
git commit -m'gh-pages documentation' 
git push origin gh-pages 
git checkout master 

और हो गया।

देर अलावा: वहाँ gh-पृष्ठों शाखा में जोड़ने के लिए एक छोटी अनुक्रम है:

git commit-tree -p gh-pages -m "" master:html \ 
| xargs git update-ref refs/heads/gh-pages 

जो वर्तमान कार्यशील पेड़

+0

एक अनाथ शाखा यहां भी उतना ही उपयुक्त होगा निस्तब्धता की आवश्यकता नहीं है? (http://stackoverflow.com/questions/7646487/starting-from-scratch-for-v2-0-should-i-keep-using-the-existing-git-repo-or-sta/7648343#7648343) – VonC

+0

@VonC आप जो चाहते हैं उस पर निर्भर करता है। यदि आप अनाथ के पास कोई इतिहास नहीं है, तो इस तरह आपकी gh-pages शाखा इतिहास रखती है। यहां अनाथ को करने का आसान तरीका 'गिट प्रतिबद्ध-पेड़ v1.6 होगा: html-mreset | xargs गिट शाखा-एफ gh-pages' – jthill

+0

समझा। वैसे भी, 'गिट प्रतिबद्ध-पेड़' का काफी दिलचस्प उपयोग। मैं आपके जवाब को ऊपर नहीं उठाऊंगा हालांकि: मैंने पहले ही किया है। – VonC

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