अपडेट 2012:
देखिए माइक मोरारी का जवाब :
शामिल
आप किसी विशेष include.path
फ़ाइल को शामिल किए जाने वाले फ़ाइल के नाम पर सेट करके दूसरे से एक कॉन्फ़िगर फ़ाइल शामिल कर सकते हैं ।
शामिल फ़ाइल को तुरंत विस्तारित किया जाता है, जैसे कि उसकी सामग्री शामिल निर्देश के स्थान पर मिली थी।
यदि include.path
चर का मान एक सापेक्ष पथ है, तो पथ को कॉन्फ़िगरेशन फ़ाइल के सापेक्ष माना जाता है जिसमें शामिल निर्देश पाया गया था।
का मान include.path
टिल्ड विस्तार के अधीन है: ~/
के मूल्य में $HOME
, और ~user/
निर्दिष्ट उपयोगकर्ता के घर निर्देशिका में विस्तारित किया जाता है ।
मुझे ऐसा नहीं लगता है।
मैं उस सेटिंग को फ़ाइल में रखना चाहूंगा~/.gitconfig
उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन फ़ाइल। जिसे "वैश्विक" कॉन्फ़िगरेशन फ़ाइल भी कहा जाता है।
इस तरह, यह .itconfig प्रोजेक्ट-विशिष्ट फ़ाइल को पूरा करता है, बिना प्रकाशित किए बिना जब GitHub पर धकेल दिया जाता है। वैश्विक कॉन्फ़िगरेशन फ़ाइल पर अधिक के लिए यह SO उत्तर भी देखें ।
Git में 3 कॉन्फिग फाइल हैं ।
bjeanes टिप्पणियों में जोड़ता है:
ऐसा लगता है कि हर कोई इस प्रश्न के बिंदु से चूक गया।
डेविड स्पष्ट रूप से एक (उसके सारे डॉट फ़ाइलों की रेपो को धक्का करना चाहता है bashrc
, gemrc
आदि) अपने सहित .gitconfig
इसलिए वह सब हो सकता है उसकी अपनी सारी मशीनों पर सेटिंग्स। निजी प्रविष्टियों को शामिल और अनदेखा करके
किसी .gitconfig
फ़ाइल के कुछ हिस्सों को धकेलने का एक तरीका वह (और मैं, उस बात के लिए) है।
एक संभव तरीका यह होगा कि एक संवेदनशील फ़ाइल को निजी संवेदनशील संवेग ( इस धागे को देखें ) के साथ डिक्रिप्ट / एन्क्रिप्ट करने के लिए एक स्मज / क्लीन फिल्टर ड्राइवर का उपयोग किया जाए, ताकि डिक्रिप्टेड भागों के साथ एक स्थानीय फ़ाइल जैसे ~ / .conconfig को पूरा किया जा सके। फ़ाइल।
इस तरह आप अपने सभी डॉट फ़ाइलों के साथ एक जीआईटी रेपो कर सकते हैं, साथ ही एन्क्रिप्टेड जानकारी के साथ एक फाइल को डीक्रिप्ट किया जा सकता है और कहा गया डॉट फाइल्स में जोड़ा जा सकता है।
में .gitattributes
(या .git/info/a..
) का उपयोग करें:
myPrivateInfosFile filter=gpg diff=gpg
आपकी रेपो .config फ़ाइल में:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
( GPG- आधारित समाधान का अर्थ है, निश्चित रूप से, आपने गंतव्य कंप्यूटर पर किसी अन्य माध्यम से अपनी निजी / सार्वजनिक कुंजी का संचार किया है, जहाँ आप इस विशेष रेपो को क्लोन करके अपनी सभी डॉट फ़ाइलों को पुनर्स्थापित करना चाहते हैं)
वास्तव में, आपके मामले में, स्मूद स्क्रिप्ट को पूरा करना होगा, क्योंकि उस फाइल को डिक्रिप्ट करने के बाद, अपनी वैश्विक ~/.gitconfig
फ़ाइल में प्रासंगिक भागों को जोड़ना और जोड़ना (जब तक कि आप किसी अन्य स्थान के साथ वैश्विक कॉन्फ़िगरेशन फ़ाइल को ओवरराइट न करें ) या उसके लिए अन्य डॉट फाइलें मामला।
https://kerneltrap.org/mailarchive/git/2008/3/13/1153274/thread
(gpg असुविधाओं पर आगे इसी सूत्र में चर्चा की गई है ) (यह पूरी तरह से अलग Git repo होने से अलग है, जैसा कि यहां चर्चा की गई है )