Git वर्कफ्लो में कई जगहें ऐसी हैं जो त्रुटियों का कारण बन सकती हैं। इस लेख में हम एक ऐसी भ्रमित करने वाली त्रुटि और उसके समाधान पर चर्चा करेंगे!
Git त्रुटि
fatal: refusing to merge unrelated histories त्रुटि तब होती है जब आपने किसी Git रिपॉजिटरी से प्रोजेक्ट क्लोन किया हो और किसी कारणवश वह विशेष .git डायरेक्टरी डिलीट या करप्ट हो गई हो।
यह .git डायरेक्टरी ही वर्जन कंट्रोल को आपके स्थानीय परिवर्तनों को रिमोट रिपॉजिटरी से ट्रैक करने का तरीका है। आप अपने स्थानीय रिपॉजिटरी के रूट डायरेक्टरी में ls -a कमांड चलाकर इस डायरेक्टरी को देख सकते हैं।
चूंकि .git डायरेक्टरी क्षतिग्रस्त या डिलीट हो गई है, वर्जन कंट्रोल आपके स्थानीय इतिहास से अनजान हो जाता है और जब आप रिमोट रेपो से पुश या पुल करते हैं तो यह मर्ज असंबंधित इतिहास त्रुटि फेंकता है।
समाधान
Git का इसके लिए समाधान है रिमोट रेपो को --allow-unrelated-histories एस्केप हैच के साथ अपने प्रोजेक्ट में खींचना।
git pull origin master --allow-unrelated-histories
यह दो प्रोजेक्ट्स को गैर-मेल खाने वाले Git इतिहास के साथ मर्ज करने की अनुमति देता है। अधिक जानकारी Git के आधिकारिक दस्तावेज़ में मिल सकती है।
पुल कमांड चलाने के बाद यदि आप पुश करने का प्रयास करते हैं, तो अब आप इसे सफलतापूर्वक कर पाएंगे।