2009-09-30 13 views
7

तो मुझे लगता है कि msysgit स्थापित करने में कुछ वास्तविक समस्याएं हैं। मैं का उपयोग करmsysgit परेशानी

ssh मेरी SSH निर्देशिका के लिए पोटीन के माध्यम से कनेक्ट कर सकते हैं: // user @ host: बंदरगाह

और मैं सही कुंजी है। मैं भी के माध्यम से plink का उपयोग कर ऐसा कर सकते हैं

plink -पी पोर्ट user @ host मैं /path/to/private_key.ppk

जब मैं (TortiseGIT के माध्यम से) को चलाने के लिए प्रयास या के माध्यम से एक Git बैश

Git क्लोन ssh: // user @ host: port/path/to/myapp.git

मैं सिर्फ त्रुटि

मिलती रहती है

डी में प्रारंभिक गिट भंडार प्रारंभ: /Git/myapp.git
चेतावनी: आपने एक खाली भंडार क्लोन किया है।
घातक: \ Program Files \ TortoiseSVN \ बिन \ TortoisePlink.exe: दूरस्थ अंत अप्रत्याशित रूप से

मैं /Git/setup.ini और TortiseGIT बॉट जाँच कर ली है और दोनों का उपयोग

सी काट दिया

क्या कोई जानता है कि मैं इस समस्या को कैसे ठीक कर सकता हूं क्योंकि यह मुझे पागल कर रहा है!

उत्तर

1

आपको पेजेंट इंस्टॉल करने और इसमें कुंजी जोड़ने की आवश्यकता है।

इसके अलावा पुनः जाँच लें कि आपके GIT_SSH वातावरण चर plink

+0

हे प्रतिक्रिया के लिए धन्यवाद करना चाहते हैं। GIT_SSH पर्यावरण चर (/Git/setup.ini के माध्यम से) ऊपर के रूप में पथ पर सेट है। –

+0

जब भी मैं गिट पुश चलाता हूं ssh: // user @ host: port/path/to/myapp.git - मुझे बस "घातक: दूरस्थ अंत अप्रत्याशित रूप से लटका" –

+0

"जीआईटी" में डीबग करने का कोई तरीका है? यानी ट्रेस या कुछ? इसे आउटपुट में कैसे प्राप्त करें? प्रतिक्रिया के लिए –

0

उपयोग करने के लिए सेट किया गया है वहाँ दूरस्थ रेपो में कुछ भी (अर्थात कम से कम एक प्रतिबद्ध) है?

Git का कहना है:

: "चेतावनी आप एक खाली भंडार क्लोन गया प्रतीत होता है" और जब आप खाली दूरस्थ रेपो में पुश करने के लिए चाहते हैं आप का उपयोग करने के लिए है:

git push URL master 
+0

धन्यवाद। हाँ मुझे यकीन नहीं है कि यह मुद्दा है क्योंकि जब भी मैं धक्का देता हूं तब भी मुझे त्रुटि मिलती है। मैं गिट या डुबकी कैसे "डीबग" कर सकते हैं? क्या तुम्हारे पास कोई विचार है? –

+0

एह ... आप सुनिश्चित नहीं हैं कि यह मुद्दा है? मैंने सोचा कि आप उस रेपो में धक्का नहीं दे सकते? (nolim1t के उत्तर पर टिप्पणी देखें) –

+0

आप GIT_TRACE = 1 और 'git ls-remote your-URL' –

0

आप को जोड़ने की कोशिश की है एसआईटी उपयोगकर्ता @ होस्ट: पोर्ट के साथ गिट-बैश से? क्या यह सीधे कनेक्ट होता है या पासवर्ड मांगता है?

पोर्ट केवल तभी आवश्यक है जब आप एसएसएच के लिए एक गैर मानक पोर्ट का उपयोग कर रहे हों अन्यथा यह 22 तक डिफ़ॉल्ट होगा। पुट्टी से यह एक बात है लेकिन सुनिश्चित करें कि आप गिट बैश से कनेक्ट कर सकते हैं क्योंकि इसकी आम तौर पर इसकी मुख्य स्टोर होगी आपकी उपयोगकर्ता निर्देशिका से एक .ssh निर्देशिका में। कि अगर नहीं करता है बंदरगाह

: आपको लगता है कि Git-बैश से काम करने के लिए नहीं मिल सकता है आप कुंजी या डिबग जहां समस्या है ठीक करने के लिए,

ssh मैं keyfile user @ host का उपयोग करके कुंजी निर्दिष्ट करने का प्रयास की जरूरत है रिमोट मशीन पर पासवर्ड के लिए काम नहीं करता या आपको संकेत नहीं देता है इसका मतलब है कि कुंजी एक्सचेंज सही तरीके से काम नहीं कर रहा है।तो आपको गिट-बैश पर्यावरण के संबंध में कुंजियों की जांच ठीक से व्यवस्थित करने की आवश्यकता है। विशेष रूप से सुनिश्चित करें कि आपने आरएसए कुंजी निर्यात की है और केवल गिट-बैश के साथ पीपीके कुंजी का उपयोग नहीं कर रहे हैं। मुझे विश्वास नहीं है कि समर्थित है। मैं कछुआ-गिट का उपयोग नहीं करता इसलिए मैं इसके साथ मदद नहीं कर सकता, लेकिन मैं नियमित रूप से गिट बैश का उपयोग करता हूं। एक जांच सूची का एक सा

9

यहाँ है:

  1. ssh सर्वर से कनेक्ट करने के लिए कोशिश कर रहे हैं पर सक्षम है?
  2. क्या सर्वर पर जीआईटी स्थापित है?
  3. क्या आपके पास सर्वर पर गिट रिपोजिटरी सेट-अप है?
  4. क्या रिपॉजिटरी सही अनुमतियां है और सर्वर पर कॉन्फ़िगरेशन में साझा किया गया है?
  5. क्या आपके पास जीआईटी के लिए सही स्थान पर एसएसएच कुंजी है?

    सुझाव:

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 के लिए निजी कुंजी: पोटीन साथ

  1. कनेक्ट सर्वर से
  2. पर
  3. अनुमतियां सेट करें आपके ~/.ssh फ़ोल्डर: chmod 700 .ssh
  4. आपके ~/पर अनुमतियां सेट करें।ssh/authorized_keys: chmod 600 authorized_keys
  5. कुंजी ssh-keygen -t dsa
  6. फ़ाइल नाम इसका इस्तेमाल करने
  7. किसी पासफ़्रेज़ (बस में प्रवेश) दर्ज न करें चाहता स्वीकार उत्पन्न करें। आप बाद में पासफ्रेज़ के साथ ऐसा करना चाहते हैं। आपकी स्थानीय हार्ड करने के लिए सर्वर से cat id_dsa.pub >> .ssh/authorized_keys
  8. संपादित करें/etc/ssh/ssh_config और sudo /etc/init.d/ssh restart
  9. कॉपी id_dsa और id_dsa.pub लाइन PubkeyAuthentication yes
  10. पुनः आरंभ ssh डेमॉन जोड़ें:
  11. authorized_keys फाइल करने के लिए पब कुंजी जोड़ने ड्राइव (winscp या sftp या कुछ ऐसे टूल का उपयोग करें) c: \ users \ userName \ .ssh निर्देशिका (यह विस्टा के लिए स्थान विंडोज के अन्य संस्करणों के लिए थोड़ा अलग होगा)
  12. सी को इंगित करने के लिए कछुआ गिट सेट करें: \ प्रोग्राम फ़ाइलें \ गीट \ bin \ ssh.exe (पुटी नहीं)

कमांड लाइन गिट और कछुआ गिट दोनों काम करने के लिए सेट किया जाना चाहिए। अपनी स्थानीय मशीन पर दोबारा क्लोनिंग करने का प्रयास करें। हाँ, मैं तमाशा चल रहा है और चाबी इसे में भरी हुई है -

git clone ssh://[email protected]:port/home/source_code/test_repo.git 

अब आप जा सकते हैं और किसी पासफ़्रेज़ से कुंजी की स्थापना को दोहराने के लिए ....

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