ऐसा लगता है कि आप किसी फ़ाइल (जैसे index.php) को ट्रैक करने की कोशिश कर रहे हैं , इसे दूरस्थ रिपॉजिटरी में जोड़ें, फिर इसे देखना बंद कर दें, जबकि फ़ाइल को रिमोट में रखें (यानी index.phpस्थानीय रूप से इसे बदलते समय रिमोट रेपो पर अपरिवर्तित रखें )।
मैं जो समझता हूं, वह ऐसा नहीं कर सकता। आप या तो किसी फ़ाइल को ट्रैक कर सकते हैं, या नहीं। यदि आप किसी फ़ाइल को ट्रैक करते हैं, तो यह दूरस्थ रेपो में मौजूद है, और जब आप इसमें बदलाव करते हैं तो यह बदल जाता है। यदि आप किसी फ़ाइल को ट्रैक नहीं करते हैं, तो वह दूरस्थ रेपो में मौजूद नहीं है।
चूँकि यह बिल्कुल संभव नहीं है कि आप गिट के साथ क्या चाहते हैं, आपकी सटीक स्थिति के आधार पर, संभावित रूप से अन्य समाधान भी हैं। उदाहरण के लिए, index.phpजब आप इसे स्थानीय रूप से बदलते हैं तो आप रिमोट पर क्यों नहीं बदलना चाहते हैं ? क्या फ़ाइल में उपयोगकर्ता-विशिष्ट सेटिंग्स हैं? यदि यह मामला है, तो आप यह कर सकते हैं:
cp index.php index_template.php
git rm --cached index.php
अब index_template.php को संपादित करें जैसा कि आप चाहते हैं कि यह रिमोट रेपो पर दिखाई दे। अपने भंडार का उपयोग करने वाले लोगों को यह बताने के लिए अपने README में कुछ जोड़ें कि एक बार जब वे इसे क्लोन कर लेते हैं, तो उन्हें index.phemplate.php को index.php पर कॉपी करना होगा और अपनी आवश्यकताओं के अनुरूप इसे संपादित करना होगा।
git add index_template.php
git add README
git commit -m 'added template index.php file'
git push
जब कोई आपके रेपो को क्लोन करता है, तो उन्हें अपना खुद का बनाना होगा index.php। आप उनके लिए आसान है यह कर दिया है: बस कॉपी index_template.phpकरने के लिए index.phpऔर कंप्यूटर से विशिष्ट सेटिंग्स के साथ इस पर संशोधन।