चलो कहते हैं कि मैं एक रेपो कि इस निर्देशिका संरचना शामिल करते हैं:सभी काम करने के लिए मैं एक गिट रेपो में निर्देशिका कैसे स्थानांतरित कर सकता हूं?
repo/
blog/
_posts/
some-post.html
another-file.txt
मैं रेपो के शीर्ष स्तर पर _posts
ले जाना चाहते हैं, तो संरचना इस तरह दिखेगा:
repo/
_posts/
some-post.html
another-file.txt
यह git mv
के साथ काफी आसान है, लेकिन मैं इतिहास को देखना चाहता हूं जैसे कि _posts
हमेशा रेपो की जड़ पर मौजूद था, और मैं के पूरे इतिहास को git log -- _posts/some-post.html
के माध्यम से प्राप्त करने में सक्षम होना चाहता हूं। मुझे कल्पना है कि मैं इसे पूरा करने के लिए git filter-branch
के साथ कुछ जादू का उपयोग कर सकता हूं, लेकिन मुझे यह नहीं पता कि यह कैसे करना है। कोई विचार?
यह भी है * बहुत * तेजी से' उपयोग करने के लिए --index-filter', क्योंकि यह पेड़ की जाँच की जरूरत नहीं है – Cascabel
हाँ सूचकांक - तुम भी dir1/dir2/dir3/तरह नेस्टेड dirs उपयोग कर सकते हैं -फिल्टर तेज़ है, लेकिन यह काम नहीं करेगा क्योंकि दिखाए गए आदेश _not_ इंडेक्स को प्रभावित करते हैं। आपको इंडेक्स मैनिपुलेशन केवल तभी करना होगा जब आप इंडेक्स-फ़िल्टर का उपयोग करना चाहते हैं (उदाहरण के लिए 'rm' के बजाय 'git rm --cached') – sehe
क्या मैं टैग भी रख सकता हूं? ऐसा लगता है कि वे मेरे मामले में चले गए हैं। – Michael