सभी फाइलों को शुद्ध करने से इतिहास से छुटकारा नहीं मिलता है। आपको एक ऐसी शाखा बनाने की जरूरत है जिसका कोई इतिहास नहीं है, और अपनी कॉन्फिग फाइलों को जोड़ें। इन दिनों git checkoutमें एक --orphanविकल्प है जो बिना इतिहास के साथ एक शाखा बनाता है। यहां --orphanविकल्प पर जानकारी दी गई है:
- बोरहान <new_branch>
<New_branch> नाम से एक नई अनाथ शाखा बनाएं, <start_point> से शुरू होकर उस पर स्विच करें। इस नई शाखा पर की गई पहली प्रतिबद्धताओं में कोई माता-पिता नहीं होंगे और यह एक नई इतिहास की जड़ होगी जो अन्य सभी शाखाओं से पूरी तरह से अलग हो जाएगी और शुरू होगी।
सूचकांक और काम करने वाले पेड़ को समायोजित किया जाता है जैसे कि आपने पहले "गिट चेकआउट <start_point>" चलाया था। यह आपको एक नया इतिहास शुरू करने की अनुमति देता है जो रूट कमिट करने के लिए "git प्रतिबद्ध -a" को आसानी से चलाकर <start_point> के समान पथों का एक सेट रिकॉर्ड करता है।
यह तब उपयोगी हो सकता है जब आप पेड़ को उसके पूर्ण इतिहास को उजागर किए बिना एक प्रतिबद्ध से प्रकाशित करना चाहते हैं। आप किसी प्रोजेक्ट के ओपन सोर्स ब्रांच को प्रकाशित करने के लिए ऐसा करना चाह सकते हैं जिसका वर्तमान पेड़ "साफ" हो, लेकिन जिसके पूरे इतिहास में मालिकाना या अन्यथा कोड के बिट्स शामिल हैं।
यदि आप एक डिस्कनेक्ट किया गया इतिहास शुरू करना चाहते हैं, जो पथों के एक सेट को रिकॉर्ड करता है जो कि <start_point> के एक से पूरी तरह से अलग है, तो आपको "git rm -rf" चलाकर अनाथ शाखा बनाने के बाद सूचकांक और काम करने वाले पेड़ को साफ करना चाहिए। " काम करने वाले पेड़ के शीर्ष स्तर से। बाद में आप अपनी नई फ़ाइलों को तैयार करने के लिए तैयार होंगे, काम के पेड़ को फिर से खोलना, उन्हें कहीं और से कॉपी करके, एक टारबॉल निकालकर, आदि।
चेकआउट के लिए दस्तावेज का लिंक यहां दिया गया है । आप भी चला सकते हैंgit help checkout ।
एक बार जब आप इतिहास के बिना अपनी शाखा बना लेते हैं, तो जब आप इसे सर्वर पर धकेल देते हैं, तो इसमें वह इतिहास भी नहीं होगा। एफडब्ल्यूआईडब्ल्यू, मुझे यह सोचने में मदद करता है कि git push"रिमोट शाखा को मेरे स्थानीय एक के समान देखो"। इसलिए यदि आपके पास इतिहास है, और धक्का है, तो इसका इतिहास होगा। यदि आप नहीं करते हैं, तो धक्का दिया शाखा नहीं होगा।