यहाँ है:
- ssh सर्वर से कनेक्ट करने के लिए कोशिश कर रहे हैं पर सक्षम है?
- क्या सर्वर पर जीआईटी स्थापित है?
- क्या आपके पास सर्वर पर गिट रिपोजिटरी सेट-अप है?
- क्या रिपॉजिटरी सही अनुमतियां है और सर्वर पर कॉन्फ़िगरेशन में साझा किया गया है?
क्या आपके पास जीआईटी के लिए सही स्थान पर एसएसएच कुंजी है?
सुझाव:
1: चूंकि आप पोटीन का उपयोग कर कनेक्ट कर सकते हैं, लग रहा है ssh तरह सेटअप ठीक है।
2: पुटी का उपयोग करें और सर्वर से कनेक्ट करें। git --version
में टाइप करें क्या आपको उचित प्रतिक्रिया मिलती है? यदि नहीं तो आपको इसे सर्वर पर स्थापित करने की आवश्यकता होगी।
3: सर्वर पर एक नया भंडार स्थापित करने का प्रयास करें। मान लीजिए कि यह एक * निक्स स्टाइल सर्वर पुटी का उपयोग करता है और सर्वर से कनेक्ट होता है और आपको निम्न आदेशों का उपयोग करके एक नया भंडार बना देता है, मानते हैं कि आपके पास निर्देशिका/होम/स्रोत_कोड है। गूंज रेखा सिर्फ एक फ़ाइल को थोड़ी सी पाठ के साथ बनाती है, इसलिए हमारे पास कुछ शुरू करने के लिए कुछ है।
cd /home/source_code
mkdir test_repo
cd /home/source_code/test_repo
echo "first file" > t.txt
git init
git add .
git commit -m "Initial Import"
तो अब हमारे पास एक t.txt फ़ाइल के साथ एक भंडार है। एक नियम के रूप में आपको कभी भी एक भंडार में धक्का नहीं देना चाहिए जिसमें कार्यशील प्रति में परिवर्तन शामिल हों। सर्वर पर एक भंडार रखने का उद्देश्य इतना है कि लोग हर समय इसमें धक्का दे सकते हैं। हम एक "बेयर" क्लोन बनाते हैं जो केवल गिट डेटाबेस है, इस तरह किसी भी काम करने की प्रतिलिपि में बदलाव की कोई संभावना नहीं है। यह "बेयर" क्लोन है जिसे हम केंद्रीय गिट भंडार के रूप में उपयोग करेंगे।
cd /home/source_code
git clone --bare test_repo/ test_repo.git
अब आप स्थापित अस्थायी भंडार से छुटकारा पा सकते हैं।
cd /home/source_code/
rm -rf test_repo
अपने स्थानीय कंप्यूटर पर फिर से क्लोनिंग
git clone ssh://[email protected]:port/home/source_code/test_repo.git
4 का प्रयास करें: अनुमतियां: इस क्लोनिंग के साथ एक समस्या का कारण नहीं होना चाहिए, प्राप्त करने या खींच, जब तक आप भंडार नहीं करता है के लिए एक स्थान का चयन किया है पहुंच पढ़ें। जब वापस धक्का आप एक अनुमति अस्वीकृत त्रुटि मिलती है तो Permissions correction का उल्लेख
5: सार्वजनिक की स्थापना/GIT के लिए निजी कुंजी: पोटीन साथ
- कनेक्ट सर्वर से
पर
- अनुमतियां सेट करें आपके ~/.ssh फ़ोल्डर:
chmod 700 .ssh
- आपके ~/पर अनुमतियां सेट करें।ssh/authorized_keys:
chmod 600 authorized_keys
- कुंजी
ssh-keygen -t dsa
- फ़ाइल नाम इसका इस्तेमाल करने
- किसी पासफ़्रेज़ (बस में प्रवेश) दर्ज न करें चाहता स्वीकार उत्पन्न करें। आप बाद में पासफ्रेज़ के साथ ऐसा करना चाहते हैं। आपकी स्थानीय हार्ड करने के लिए सर्वर से
cat id_dsa.pub >> .ssh/authorized_keys
- संपादित करें/etc/ssh/ssh_config और
sudo /etc/init.d/ssh restart
- कॉपी
id_dsa
और id_dsa.pub
लाइन PubkeyAuthentication yes
- पुनः आरंभ ssh डेमॉन जोड़ें:
- authorized_keys फाइल करने के लिए पब कुंजी जोड़ने ड्राइव (winscp या sftp या कुछ ऐसे टूल का उपयोग करें) c: \ users \ userName \ .ssh निर्देशिका (यह विस्टा के लिए स्थान विंडोज के अन्य संस्करणों के लिए थोड़ा अलग होगा)
- सी को इंगित करने के लिए कछुआ गिट सेट करें: \ प्रोग्राम फ़ाइलें \ गीट \ bin \ ssh.exe (पुटी नहीं)
कमांड लाइन गिट और कछुआ गिट दोनों काम करने के लिए सेट किया जाना चाहिए। अपनी स्थानीय मशीन पर दोबारा क्लोनिंग करने का प्रयास करें। हाँ, मैं तमाशा चल रहा है और चाबी इसे में भरी हुई है -
git clone ssh://[email protected]:port/home/source_code/test_repo.git
अब आप जा सकते हैं और किसी पासफ़्रेज़ से कुंजी की स्थापना को दोहराने के लिए ....
हे प्रतिक्रिया के लिए धन्यवाद करना चाहते हैं। GIT_SSH पर्यावरण चर (/Git/setup.ini के माध्यम से) ऊपर के रूप में पथ पर सेट है। –
जब भी मैं गिट पुश चलाता हूं ssh: // user @ host: port/path/to/myapp.git - मुझे बस "घातक: दूरस्थ अंत अप्रत्याशित रूप से लटका" –
"जीआईटी" में डीबग करने का कोई तरीका है? यानी ट्रेस या कुछ? इसे आउटपुट में कैसे प्राप्त करें? प्रतिक्रिया के लिए –