मैं हर समय कुछ ऐसा करता हूं। मैं एक बड़ी एसवीएन परियोजना से कई रिलीज और एकाधिक शाखाओं को ट्रैक करने के लिए जीआईटी का उपयोग करता हूं। इस परियोजना में ~ src 'की उपनिर्देशिका में ~ 200 एसवीएन मॉड्यूल हैं। जब मैंने जीआईटी रिपोजिटरी शुरू की, तो मैंने प्रोजेक्ट के v9.4.4 की जांच की, एक 'गिट इनिट' जोड़ा। गिटिनोर और .gitattributes, 'गिट एड-ए' और 'गिट प्रतिबद्ध-एम' v9.4.4 'किया। तब मैं स्थानांतरित कर दिया। परियोजना से बाहर निकला और प्रतीकात्मक लिंक बनाया। जब v9.4.5 रिलीज आया, तो मैंने इसे चेक आउट किया, अब साझा की गई .git निर्देशिका के लिए एक प्रतीकात्मक लिंक जोड़ा, .gitignore और .gitattributes जोड़े, 'git add -A' और 'git commit -m' v9 किया। 4.5 '। इस बिंदु पर, मेरे पास एक जीआईटी भंडार है जो प्रतीकात्मक रूप से दो निर्देशिकाओं से जुड़ा हुआ है।
इस सेटअप के साथ आप कोई भी गिट ऑपरेशन कर सकते हैं जो कार्य निर्देशिका को स्पर्श नहीं करता है। तो, मेरे आवेदन के लिए, 'गिट diff v9.4.4..v9.4.5' महान काम करता है। निस्संदेह आप गिट ऑपरेशंस भी कर सकते हैं जो इंडेक्स और कामकाजी निर्देशिका को स्पर्श करते हैं लेकिन फिर आपको सावधान रहना होगा कि उस रिपोजिटरी में आपके द्वारा बैठे रिलीज के लिए सही प्रतिबद्धता है।
मैंने भी उपयोग किया है यह कई शाखाओं के लिए। उस स्थिति में को बिना कार्य निर्देशिका को स्पर्श करने के लिए 'गिट प्रतीकात्मक-रेफ हेड रेफ/हेड/ए-शाखा' का उपयोग करना महत्वपूर्ण है। तो जब मेरे प्रोजेक्ट संस्करण एस 3 के साथ आया, तो मैंने एक 'गिट शाखा एस 3 v9.4.4' किया, मेरे .git प्रतीकात्मक लिंक बनाया, 'गिट प्रतीकात्मक-रेफ हेड रेफ/हेड/एस 3' किया और इसे 'एड' के साथ किया और 'करते हैं।'
मेरा मानना है कि यह गिट काम करने वाली प्रतिलिपि और सीवीएस भंडार से फ़ाइलों को चिपकाने से सभी फ़ाइलों को हटाने जैसा ही है। यह काम करना चाहिए और आपको किए गए सभी बदलाव दिखाएंगे। – Tadeck