मेरी टीम में से किसी ने गिट सर्वर पर एक बड़ी फ़ाइल को धक्का दिया और टीम में हर किसी के पास अब बड़ी फाइल के साथ प्रोजेक्ट का क्लोन है।पूरी टीम के लिए स्थायी रूप से बड़ी फ़ाइल को कैसे हटाएं
मैंने http://help.github.com/removing-sensitive-data/ में मार्गदर्शिका का पालन किया और यह मेरे स्थानीय स्रोत पेड़ के साथ-साथ दूरस्थ सर्वर पर भी काम करता है। लेकिन एक बार जब कोई अन्य व्यक्ति दूरस्थ सर्वर से नया डेटा प्राप्त करता है, तो वह सर्वर पर नए कामों को दबाकर बड़ी फ़ाइल को आसानी से पुन: पेश करेगा।
सामान्य रूप से एक टीम के सदस्य अपने को दूसरों के साथ साझा करने के लिए प्रतिबद्ध निम्न करेगा: 'रिबेस' के चरण में
git fetch origin
git rebase origin/master
git push origin
, वर्ष बड़ी फाइल अपने स्थानीय प्रतिबद्ध में पुनः शुरू किया गया है। निस्संदेह एक बड़ी तरीका है कि मैं बड़ी फाइल को हटाने के बाद परियोजना में फिर से क्लोन करने के लिए टीम में सभी को मांगूं, लेकिन हर कोई ऐसा करने में खुश नहीं होगा। मुझे हर किसी के लिए पूरी परियोजना को फिर से क्लोन करने के अलावा किसी अन्य तरीके से मिल रहा है।
कोई सुझाव? धन्यवाद।
है। एक पुश केवल उन वस्तुओं द्वारा पहुंचने योग्य वस्तुओं को धक्का देता है जो पुराने_commit..new_commit में मौजूद किसी भी काम में हैं। –
मान लें कि आपके पास एक प्रतिबद्धता इतिहास ए-बी-सी-डी-ई है। कुछ लड़का प्रतिबद्ध सी में बड़ी वस्तु जोड़ता है। फिर मैं ऑब्जेक्ट को हटाता हूं, सी से इतिहास को फिर से लिखता हूं और नए इतिहास को सर्वर द्वारा मजबूर करता हूं। इतिहास अब ए-बी-सी-डी'-ई 'है। एक अन्य सदस्य ने पहले ही पूरी परियोजना को पहले ही क्लोन कर दिया है और उसका स्थानीय इतिहास भी ए-बी-सी-डी-ई है। नए इतिहास को प्राप्त करने के बाद, स्थानीय विचलित हो जाता है, जो मूल/मास्टर पर ए-बी-सी-डी-ई 'है और मास्टर शाखा पर ए-बी-सी-डी-ई है। रिबेस के बाद, नया इतिहास ए-बी-सी'-डी'-ई-सी-डी-ई की तरह है, फिर वह सर्वर पर चला जाता है - पुरानी प्रतिबद्धता सी को फिर से पेश किया जाता है। –