यदि आप मेरे जैसे हैं, तो आप कर सकते हैं:
अपनी ssh चाबियों को व्यवस्थित रखें
अपने git क्लोन कमांड को सरल रखें
किसी भी संख्या में रिपॉजिटरी के लिए किसी भी कुंजी को संभालें।
अपने ssh कुंजी रखरखाव को कम करें।
मैं अपनी चाबी अपनी ~/.ssh/keys
निर्देशिका में रखता हूं ।
मैं कॉन्फ़िगरेशन पर अधिवेशन पसंद करता हूं।
मुझे लगता है कि कोड कानून है; यह जितना आसान है, उतना ही अच्छा है।
चरण 1 - उपनाम बनाएं
इस उपनाम को अपने शेल में जोड़ें: alias git-clone='GIT_SSH=ssh_wrapper git clone'
STEP 2 - स्क्रिप्ट बनाएं
इस ssh_wrapper स्क्रिप्ट को अपने PATH में जोड़ें :
#!/bin/bash
# Filename: ssh_wrapper
if [ -z ${SSH_KEY} ]; then
SSH_KEY='github.com/l3x' # <= Default key
fi
SSH_KEY="~/.ssh/keys/${SSH_KEY}/id_rsa"
ssh -i "${SSH_KEY}" "$@"
उदाहरण
Github.com/l3x कुंजी का उपयोग करें:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
निम्न उदाहरण भी github.com/l3x कुंजी (डिफ़ॉल्ट रूप से) का उपयोग करता है :
git-clone https://github.com/l3x/learn-fp-go
Bitbucket.org/lsheehan कुंजी का उपयोग करें:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
टिप्पणियाँ
डिफ़ॉल्ट SSH_KEY को ssh_wrapper स्क्रिप्ट में उस समय बदलें, जिसका आप ज्यादातर समय उपयोग करते हैं। इस तरह, आपको अधिकांश समय प्रमुख चर का उपयोग करने की आवश्यकता नहीं है।
आप सोच सकते हैं, "अरे! यह एक उपनाम, एक स्क्रिप्ट और कुंजी की कुछ निर्देशिका के साथ बहुत कुछ चल रहा है," लेकिन मेरे लिए यह सम्मेलन है। मेरे सभी कार्यस्थान (और उस मामले के लिए सर्वर) समान रूप से कॉन्फ़िगर किए गए हैं।
यहां मेरा लक्ष्य उन आज्ञाओं को सरल बनाना है, जिन्हें मैं नियमित रूप से निष्पादित करता हूं।
मेरे सम्मेलनों, जैसे, बैश स्क्रिप्ट, उपनाम आदि, एक सुसंगत वातावरण बनाते हैं और मुझे चीजों को सरल रखने में मदद करते हैं।
KISS और नाम मायने रखते हैं।
अधिक डिज़ाइन युक्तियों के लिए मेरी पुस्तक से जाने में अध्याय 4 SOLID डिज़ाइन देखें : https://www.amazon.com/Learning-Functional-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
उम्मीद है की वो मदद करदे। - लेक्स