मान लें-अपरिवर्तित एक प्रदर्शन हैक है, और आपके द्वारा एक वादा का प्रतिनिधित्व करता है कि फ़ाइल नहीं बदली है। यदि आप वास्तव में फ़ाइल को बदलते हैं तो सभी दांव बंद हैं। आपको या तो अपने रेपो को पुन: व्यवस्थित करना चाहिए ताकि आप इन फ़ाइलों को नहीं कर सकें (शायद filename.sample और .gitignore फ़ाइल नाम दें) या शाखाओं के साथ चालें चलाएं ताकि आप जिन फ़ाइलों को नहीं चाहते हैं, वे बाकी दुनिया के साथ साझा हो जाएं शाखा या अन्यथा छुपाया।
मैंने इन परिवर्तनों को छिपाने के तरीके पर चार सुझावों को देखा/सोचा है।
1: फ़ाइल को चेकआउट पर जो भी आप चाहते हैं उसे बदलने के लिए धुंध/साफ फ़िल्टर का उपयोग करें और इसे चेकइन पर साफ़ करें। बदसूरत।
2: http://thomasrast.ch/git/local-config.html में वर्णित स्थानीय कॉन्फ़िगरेशन शाखा बनाएं यहां याद रखने की महत्वपूर्ण बात यह है कि आप प्राथमिक शाखा पर विकसित होते हैं और परीक्षण के लिए कॉन्फ़िगरेशन शाखा में विलय करते हैं। बदलने के लिए प्राथमिक शाखा में वापस जाएं, पुश इत्यादि।
3: एक निजी विकास शाखा बनाएं, वह परिवर्तन करें जिसे आप साझा नहीं करना चाहते हैं, और उसके बाद नकली विलय (गिट विलय - हमारा निजी ब्रांच) बनाएं। फिर आप अपनी निजी शाखा में विकसित और परीक्षण कर सकते हैं और जो बदलाव आप साझा नहीं करना चाहते हैं, वह तब नहीं होना चाहिए जब तक आप वापस विलय न करें, जब तक कि आपके सामान्य काम से परिवर्तन दूर न हो। हालांकि, जब आप अपस्ट्रीम से नए बदलाव प्राप्त करते हैं, तो आपको सीधे उन्हें सीधे अपस्ट्रीम से निजी शाखा में खींचने की आवश्यकता होती है। फिर आप निजी वापस मास्टर में मर्ज करें और मास्टर से अपस्ट्रीम दबाएं। आपको मास्टर से वापस निजी में कभी विलय नहीं करना चाहिए। इसी प्रकार, आपको कभी भी पुनर्विवाह नहीं करना चाहिए (ठीक है, संभावित रूप से rebase -p काम करेगा, लेकिन कोई गारंटी नहीं है)। ये मर्ज/रीबेस और जहां प्रत्येक होना चाहिए यह कम आकर्षक बनाता है।
4: एक निजी विकास शाखा बनाएं, वह परिवर्तन करें जिसे आप कभी साझा नहीं करना चाहते हैं, और उसके बाद एक मर्ज ड्राइवर बनाएं (मैन गिटैट्रिब्यूट देखें) जो फ़ाइल से मास्टर को निजी से या निजी से मास्टर में विलय करने से इनकार कर देगा (शायद निजी शाखा पर फ़ाइल के एसएचए की तुलना विभिन्न शाखाओं के एसएचए में कर कर और पिछले मूल्य की प्रतिलिपि बनाने से पहले की प्रतिलिपि बनाकर)।
स्रोत
2011-05-19 05:21:46
गिट स्टैश 1.7.2 में परिवर्तनों को छूता नहीं है। गिट का कौन सा संस्करण? –
मेरा गिट संस्करण 1.7.1 पर है। मैं 1.7.2 को अपडेट करने का प्रयास करूंगा और देख सकता हूं कि यह ठीक करता है या नहीं। –
दुर्भाग्य से मैं अभी भी इस व्यवहार को गिट संस्करण 1.7.5.1 में उबंटू पर देख रहा हूं। –