दिलचस्प पोस्ट
जावा "user.dir" संपत्ति – इसका मतलब क्या है? _t (अंडरस्कोर-टी) द्वारा किस प्रकार का अनुसरण किया जाता है? SQL सर्वर के टाइमस्टैम्प कॉलम को डेटटाईम प्रारूप में कनवर्ट करने के लिए कैसे करें पायथन ग्राफ़ पुस्तकालय बिगइंटेगर के लिए लॉगरिदम फ़ंक्शन के माध्यम से डेटा फ्रेम अपडेट करना काम नहीं करता है IOS पर मौजूदा SQLite डेटाबेस का उपयोग करें और एक्सेस करें सेकंड में दो तिथियों के बीच समय का अंतर प्राप्त करें HAProxy + वेबसॉकेट डिस्कनेक्शन विंडोज: कमांड प्रॉम्प्ट पर मल्टीलाइन कमांड को कैसे निर्दिष्ट करें? मैं C # में एक स्थान के साथ कई स्थान कैसे बदल सकता हूँ? वास्तव में @ इस समारोह का क्या है? सी # में कॉओरिएंट और कॉन्ट्राएरिएन्ट इंटरफेस को समझना क्या ट्विटर के लिए एक आईफोन एसडीके एपीआई है? स्विफ्ट – MKMapView को MKAnnotationView जोड़ें

जीआईटी का उपयोग करना, मैं एक शाखा में एक फ़ाइल को कैसे अनदेखा कर सकता हूं, लेकिन क्या यह किसी अन्य शाखा में है?

मुझे एक प्रोजेक्ट मिला है जो मैं हरोक में तैनात कर रहा हूं। स्रोत कोड पेड़ में एमपी 3 फ़ाइलों का एक गुच्छा शामिल होता है (वेबसाइट एक रिकॉर्डिंग प्रोजेक्ट के लिए होगी जिसमें मैं अत्यधिक शामिल था)।

मैं इसके लिए स्रोत कोड को GitHub पर रखना चाहूंगा, लेकिन गीथहब के पास अपने निशुल्क खातों पर 300 एमबी की सीमा है। एमपी 3 फाइलों की एक गुच्छा पर मेरी सीमा का 50 एमबी उपयोग नहीं करना चाहता। जाहिर है, मैं उन्हें अपने रिपो से बाहर रखने के लिए .gitignore फ़ाइल में जोड़ सकता था।

हालांकि, मैं git push heroku को तैनात कर रहा git push heroku । एमपी 3 फाइलों को शाखा में मौजूद होना चाहिए, मैं हरोकोक को पुश कर दूँगा ताकि उन्हें तैनात किया जा सके।

आदर्श रूप में, मैं अपनी स्थानीय मास्टर शाखा में एमपी 3 फाइलों को .gitignore करना चाहता हूं ताकि जब मैं उस गीथहब पर धक्का दे, एमपी 3 में शामिल नहीं होंगे। फिर मैं एक स्थानीय प्रोडक्शन शाखा रखता हूं, जिसकी उपेक्षा की बजाय एमपीएस की प्रतिबद्धता होती है। तैनात करने के लिए, मैं मास्टर को उत्पादन में मर्ज कर दूंगा, और फिर उत्पादन शाखा को हराकू में धक्का दे दूँगा।

मुझे यह सही काम करने के लिए नहीं मिल सकता है

यहाँ मैं क्या करने की कोशिश कर रहा हूँ का एक उदाहरण है …

 $ git init git-ignore-test $ cd git-ignore-test $ echo "*.ignored" >> .gitignore $ git add .gitignore && git commit -m "Ignore .ignored files" $ touch Foo.ignored 

इस बिंदु पर, Foo.ignored मेरे मास्टर शाखा में नजरअंदाज कर दिया गया है, लेकिन यह अभी भी मौजूद है, इसलिए मेरा प्रोजेक्ट इसका उपयोग कर सकता है

 $ git checkout -b unignored $ cat /dev/null > .gitignore $ git add Foo.ignored .gitignore && git commit -m "Unignore .ignored files" 

अब मुझे इन फ़ाइलों के साथ एक शाखा मिली है, जैसा मैं चाहता हूं। हालांकि, जब मैं अपने मास्टर ब्रांच पर वापस स्विच करता हूं, फ़ू.इग्लार्ड चला जाता है।

किसी को भी इसे सेट करने के लिए बेहतर तरीके से कोई सुझाव मिल गया?

संपादित करें: बस स्पष्ट करने के लिए, मैं चाहता हूं कि एमपी 3 फाइलें दोनों शाखाओं में मौजूद हों, ताकि जब मैं स्थानीय रूप से साइट चलाऊं (या तो शाखा का उपयोग कर) साइट काम करे मैं सिर्फ एक शाखा में दुर्लभ फाइलों को इसलिए चाहता हूं ताकि जब मैं गीथहब को धक्का देूं तो उन्हें भी धक्का नहीं दिया जाएगा आमतौर पर। गीटिग्नर इस तरह की चीज़ों के लिए अच्छी तरह से काम करता है (यानी किसी फाइल की एक स्थानीय प्रतिलिपि रखते हुए जो किसी रिमोट में एक धक्का में शामिल नहीं होता है), लेकिन जब मैं चेक की गई फ़ाइलों के साथ शाखा में जाता हूं, और फिर वापस फाइलों के साथ शाखा की उपेक्षा, फ़ाइलें गायब हो गईं

Solutions Collecting From Web of "जीआईटी का उपयोग करना, मैं एक शाखा में एक फ़ाइल को कैसे अनदेखा कर सकता हूं, लेकिन क्या यह किसी अन्य शाखा में है?"

यह समाधान केवल git के कुछ निश्चित पैच के संस्करणों के लिए काम करता है। कार्यवाही की ओर इशारा करते हुए एक नया उत्तर देखें और एक अन्य सन्दर्भ और अन्य टिप्पणियों के लिए बाद में टिप्पणियां जो संस्करण काम कर सकते हैं।

मैंने एक ब्लॉग पोस्ट लिखा है कि अलग-अलग शाखाओं के लिए बहिष्कार फाईल का प्रभावी ढंग से उपयोग कैसे करें, जैसे कि सार्वजनिक गीथब के लिए और एक हीरोओको परिनियोजन के लिए

यहाँ त्वरित और गंदा है:

 $ git branch public_viewing $ cd .git/ $ touch info/exclude_from_public_viewing $ echo "path/to/secret/file" > info/exclude_from_public_viewing 

तो .git / config फ़ाइल में इन पंक्तियों को जोड़ें:

 [core] excludesfile = +info/exclude [branch "public_viewing"] excludesfile = +info/exclude_from_public_viewing 

अब सभी वैश्विक उपेक्षा सामग्री info/exclude फ़ाइल को info/exclude है और शाखा विशिष्ट info/exclude_from_public_viewing

उम्मीद है की वो मदद करदे!

http://cogniton-mind.tumblr.com/post/1423976659/howto-gitignore-for-different-branches

मैं उन एमपी 3 फाइलों को एस 3 पर डालते हुए दृढ़ता से सलाह देता हूं। उन्हें अपने हैरोकू पुश का हिस्सा होने के साथ (और इस प्रकार आपके हराकू स्लग का हिस्सा) आपके डिनो स्टार्टअप समय को बहुत धीमा कर देगा। चूंकि हेरोकुका ईसी 2 का उपयोग करता है, अगर फाइलें एस 3 पर होती हैं और केवल आपके एप द्वारा एक्सेस की जाती हैं (यदि उपयोगकर्ता सीधे एस 3 से जुड़े नहीं हैं) तो आप 50 एमबी स्टोर करने के लिए केवल किसी भी बैंडविड्थ शुल्क का भुगतान नहीं करेंगे।

महत्वपूर्ण संकेत : संज्ञानात्मक द्वारा स्वीकार किए गए उत्तर। मन काम नहीं करता (अब, कई वर्षों से, या शायद जीआईटी के वेनिला संस्करणों के लिए); टिप्पणियां देखें एक वैध उत्तर और वैकल्पिक हल यहां पाया जा सकता है:

https://stackoverflow.com/a/29583813/2157640

एक और वैकल्पिक वैकल्पिक हल (मेरे विशेष समस्या के लिए काम करना, लेकिन मैनुअल स्टोश ऑपरेशन या हुक के कार्यान्वयन की मांग करना) git stash -u -a जब अंतर बड़े होते हैं तो यह थकाऊ होता है

और अंत में, अब जिस समाधान का मैं जा रहा हूं, वह मेरे वीएम को बंद कर रहा है कि हम अपने विकास के माहौल को धारण करते हैं, और शाखा के लिए info/excludes सेट अप करते हैं, क्रमशः आपत्तिजनक, असम्बद्ध फाइलों / फ़ोल्डर्स को हटाते हैं।

मान लें कि हम production शाखा को छोड़कर अन्य सभी शाखाओं से build फ़ोल्डर को अनदेखा करना चाहते हैं। जैसा कि हम उत्पादन में फ़ोल्डर का build करना चाहते हैं।

1) में शामिल नहीं। गिटग्नॉर में build । यदि आप ऐसा करते हैं तो यह हमेशा सभी शाखाओं के लिए अनदेखी की जाएगी।

2) एक फाइल को बाहर exclude_from_public_viewing अंदर exclude_from_public_viewing (यह फ़ोल्डर पहले से मौजूद है) फ़ोल्डर touch ./.git/info/exclude_from_public_viewing

3) बाहर की exclude_from_public_viewing लिए एक पंक्ति लिखें (जैसा कि आप सभी शाखाओं के लिए build को अनदेखा करने की कोशिश कर रहे हैं)। !build

4) एक मौजूदा फाइल है। .git/info/exclude । हमें इसमें निम्नलिखित पंक्ति जोड़ने की आवश्यकता है

  build 

हम build फ़ोल्डर की अनदेखी करना चाहते हैं लेकिन इसे ग्रिग्न्नॉर में नहीं जोड़ा है। तो कैसे गिट पता चलेगा कि क्या अनदेखा करना है? उत्तर है कि हम इसे फ़ाइल को exclude लिए जोड़ रहे हैं और उस फाइल को git config लिए सशर्त रूप से पास कर रहे हैं

5) अब हमें सशर्त रूप से production शाखा के build फ़ोल्डर को अनग्न build । ऐसा करने के लिए निम्नलिखित का पालन करें

6) ./.git/config नामक एक मौजूदा फाइल है जिसे हमें निम्नलिखित को जोड़ने की आवश्यकता है –

क) excludesfile = +info/exclude नीचे excludesfile = +info/exclude गया [core]

 [core] excludesfile = +info/exclude 

ख) ./.git/config के अंत में एक नया अनुभाग बनाएं

 [branch "production"] excludesfile = +info/exclude_from_public_viewing 

समाधान 2

एक स्मार्ट वैकल्पिक समाधान है कहें कि आप production ब्रंच में build/ फ़ोल्डर जोड़ना चाहते हैं और अन्य सभी शाखाओं में इसे अनदेखा करना चाहते हैं।

1) इसे अपने gitignore फ़ाइल में जोड़ें।

2) उत्पादन ब्रंच में, जबकि git जोड़ते हैं, बल build फ़ोल्डर बनाएँ git add -f --all build/

क्या आपने कोशिश की है कि गिटिग्नर आपकी शाखा में अलग हो?

आप उस शाखा के आधार पर जो आप चाहते हैं, उसे अनदेखा करने में सक्षम होना चाहिए, जब तक उस शाखा पर नज़र नहीं रखी जाती।

Github अब बड़े फ़ाइल संग्रहण के लिए समर्थन प्राप्त है, यहां अधिक देखें https://git-lfs.github.com/

आप कर सकते हैं और हरको से धक्का?

उदाहरण के लिए ऑडियो जोड़ें, उन्हें गिटूब पर और उसके लिए, पुश करने के लिए हेरोक पर काम की गई प्रतिलिपि पर फ़ाइलों को हटा दें। ऑडियो को रेपो से निकालें, लेकिन डिस्क से नहीं, फिर उस बदलाव को वापस गिथूब पर दबाएं।