2013-08-04 2 views
14

में GIT_SSH पर्यावरण परिवर्तनीय सेट करें gitconfig फ़ाइल में GIT_SSH पर्यावरण चर सेट करने का कोई तरीका है?Gitconfig

+1

आप GIT_SSH चर में क्या डालना चाहते हैं? इसके बजाय कुछ सेटिंग्स ~/.ssh/config में भी की जा सकती हैं। –

+1

मेरे मामले में, मैं आमतौर पर गिट को संभालने के लिए पुटी का उपयोग करता हूं, क्योंकि यह काफी संगत है और इसमें एक ठोस एसएसएच एजेंट है। हालांकि, मेरे द्वारा उपयोग किए जाने वाले कुछ गिट रिपोज़ में इंटरैक्टिव लॉगिन होता है और पुटी इसे संभाल नहीं पाता है। उन लोगों के लिए, मुझे एसएसएच क्लाइंट का उपयोग करने की आवश्यकता है कि विंडोज के लिए गिट आया था। मैं बजाय 'GIT_SSH' कॉन्फ़िगर प्रति-रेपो में सेट करना चाहता हूं। – Brad

उत्तर

4

के बाद से my 2013 answer (Git 1.8.3.4), एक नया विन्यास निर्धारित किया गया है: core.sshCommand

इस चर सेट है, तो git fetch और git pushssh के बजाय निर्दिष्ट कमांड का उपयोग करेगा, जब वे करने के लिए कनेक्ट करने की आवश्यकता एक रिमोट सिस्टम।
कमांड GIT_SSH_COMMAND पर्यावरण परिवर्तक के समान रूप में है और पर्यावरण चर सेट होने पर ओवरराइड किया गया है।

यह Git 2.10, commit 3c8ede3, June 2016

में शुरू किया गया है तब से, आप जो है ssh.variant

वातावरण चर GIT_SSH या GIT_SSH_COMMAND, या config की स्थापना core.sshCommand के मूल्य पर निर्भर करता है Git 2.13, commit dd33e077, Feb. 2017 है, गिट ऑटो-डिटेक्ट करता है कि डिफ़ॉल्ट (ओपनएसएसएच) के विपरीत, प्लिंक या कछुए के साथ उपयोग के लिए अपने कमांड लाइन पैरामीटर को समायोजित करना है या नहीं।

कॉन्फ़िगरेशन चर ssh.variant इस ऑटो-डिटेक्शन को ओवरराइड करने के लिए सेट किया जा सकता है; मान्य मान ssh, plink, putty या tortoiseplink हैं।
कोई अन्य मूल्य सामान्य एसएसएच के रूप में माना जाएगा। इस सेटिंग को पर्यावरण चर GIT_SSH_VARIANT के माध्यम से ओवरराइड किया जा सकता है।


उन लोगों के लिए, मैं SSH ग्राहक कि विंडोज के लिए Git

रेपोस जहां पोटीन के बजाय ssh की जरूरत के लिए

तो साथ आया उपयोग करने की आवश्यकता है, तो आप दोनों सेटिंग्स का उपयोग कर सकते हैं अपनी कॉन्फ़िगरेशन में ठीक सेट करने के लिए।

cd /path/to/my/repo 
git config ssh.variant ssh 
7

GIT_SSH का उल्लेख git config man page में नहीं किया गया है।

"Git clone with custom SSH using GIT_SSH error" वर्णन करता है कि GIT_SSH पर विकल्प कैसे पास किया जाए, लेकिन यह दर्शाता है कि यह एक गिट रेपो कॉन्फ़िगरेशन का हिस्सा नहीं है।

+0

आपकी मदद के लिए धन्यवाद! जीआईटी-एसएसएच पर्यावरण परिवर्तक को स्वचालित करने के लिए कोई अन्य तरीका है क्योंकि gitconfig अगर विकल्प मौजूद था तो क्या होगा? यूनिक्स पर – voltair

+1

@ वोल्टियर, यह आपके .profile, या your.bashrc में होगा। विंडोज़ पर, यह आपके उपयोगकर्ता पर्यावरण चर में पंजीकृत होगा। – VonC

संबंधित मुद्दे