2012-01-24 15 views
5

मैं अपने स्थानीय गिट भंडार से एसवीएन सर्वर में परिवर्तनों को मर्ज करने के लिए git svn का उपयोग कर रहा हूं। हालांकि, जब मैं git svn dcommit जारी करता हूं तो यह वास्तव में मेरे स्रोत पेड़ में मौजूद किसी भी .gitignore फ़ाइलों को प्रतिबद्ध करेगा। स्थानीय स्तर पर एसवीएन रिपोजिटरी (एसवीएन का उपयोग करके) की जांच करने के बाद भी, एसवीएन सेट करें: संपत्ति को अनदेखा करें (रिकर्सिवली, लिस्टिंग। गिटिनोरोर को अनदेखा करने वाली फाइलों में से एक के रूप में), और फिर उस संपत्ति को सीधे एसवीएन में बदलना।क्या एसवीएन से बाहर .gitignore फ़ाइलों को रखना संभव है?

क्या यह इरादा व्यवहार है? एक दोष? क्या कोई काम है जो किसी को भी रखने के बारे में जानता है। एसवीएन से बाहर निकलें?

मुझे पता है कि मेरी टीम पर एक गैर-गिट उपयोगकर्ता इन फ़ाइलों को देखने जा रहा है और उन्हें हटाने शुरू कर रहा है, अगली बार जब मैं rebase/dcommit पर जाता हूं तो बहुत सी अवांछित फ़ाइलें एसवीएन में उड़ने जा रही हैं।

उत्तर

8

आप .gitignore फ़ाइलों का उपयोग करने के बजाय गिट की रेपो-विशिष्ट "बहिष्कृत" फ़ाइल का उपयोग कर सकते हैं। "बहिष्कृत" फ़ाइल $GIT_DIR/info/exclude पर रहता है (जहां $GIT_DIR गिट रिपोजिटरी निर्देशिका है, आमतौर पर .git)। इस फ़ाइल का प्रारूप बिल्कुल .gitignore फ़ाइलों के समान है। अंतर यह है कि यह एक भंडार-विशिष्ट फ़ाइल है - यह केवल आपके भंडार में ही मौजूद होगा। यह किसी भी अन्य भंडार (जैसे git clone या git svn dcommit के माध्यम से प्रचारित नहीं किया जाएगा) के लिए प्रचारित नहीं किया जाएगा।

एसवीएन रेपो से .gitignore फ़ाइलों को छोड़ने का कोई तरीका नहीं है, लेकिन उन्हें गिट में रखें। ऐसा करने का कोई भी प्रयास नतीजा होगा कि आपका स्थानीय ऐसा काम करता है जो एसआईवीएन सर्वर से जीआईटी-एसवीएन पुनर्प्राप्त करता है। दूसरे शब्दों में, आपके स्थानीय भंडार का इतिहास एसवीएन से इतिहास के साथ सुलभ नहीं होगा; वे स्थायी रूप से बाहर सिंक होंगे।

+0

रेपो-अनदेखा के बारे में जानना अच्छा है और यह भी कि मैं अकेला नहीं हूं जो एसवीएन से बाहर निकलने वाली पिटकी .gitignore फ़ाइलों को नहीं रख सकता! – ThaDon

+0

ऐसा लगता है कि फाइल को अब बहुवचन के बिना '$ GIT_DIR/जानकारी/बहिष्कृत' कहा जाता है। –

+0

@JannikJochem मुझे लगता है कि यह मेरे हिस्से पर सिर्फ एक टाइपो था। जहां तक ​​मुझे पता है, इसे हमेशा "बहिष्कृत" नाम दिया गया है, न कि "बहिष्कृत"। उसे इंगित करने के लिए धन्यवाद! :) –

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