2010-05-20 7 views
5

मैं एक Windows- आधारित वेब सर्वर स्थापित करने के लिए कोशिश कर रहा हूँ इसे से खींच, लेकिन पर मैक OSX विकास कार्य करते हैं। मैंने विंडोज सर्वर पर freeSSHd और msysGit स्थापित किया है, और एक भंडार स्थापित किया है जहां मैं इसे चाहता हूं। मेरे मैक पर भी गिट है और वहां एक रेपो भी स्थापित किया गया है। जब मैं एसएसएच के माध्यम से खिड़कियों के रेपो को क्लोन करने, खींचने या पुश करने की कोशिश करता हूं, तो यह मुझे एक त्रुटि देता है, "घातक: प्रोटोकॉल त्रुटि: खराब रेखा लंबाई चरित्र" इससे कोई फर्क नहीं पड़ता कि मैंने अपने क्लाइंट में रिमोट को सेट किया है (मैक ओएसएक्स) मशीन - मैं इसे उस फ़ोल्डर में इंगित कर सकता हूं जो अस्तित्व में नहीं है और यह अभी भी मुझे वह त्रुटि देता है।मैं कैसे खिड़कियों पर एक Git भंडार स्थापित कर सकते हैं, और फिर/करने के लिए धक्का पर मैक OSX

मैं भी एक लिनक्स बॉक्स मैं चारों ओर बैठे है पर इस की कोशिश की और यह पूरी तरह से काम करता है, तो यह मेरे Mac नहीं है।

मैं कुछ उपाय दिए गए हैं:

  1. शायद freeSSHd सही ढंग से (as suggested here) व्यवहार नहीं कर रहा तो मैं विंडोज के लिए एक अलग SSH सर्वर मिल सकता है - शायद OpenSSH

  2. शायद मैं टाइप कर रहा हूँ वह कोड जो मैक और विंडोज फ़ाइल पथ को गलत तरीके से जोड़ता है। मैंने कोशिश की:
    sudo Git क्लोन ssh: //[email protected]/C:/उपयोगकर्ताओं/[my_username]/[remote_repo_name] /.git [गंतव्य]

    और

    sudo गिट क्लोन एसएसएच: //[email protected]/C: \ उपयोगकर्ता \ [my_username] \ [remote_repo_name] \ .git [गंतव्य]

    मुझे इनमें से दोनों के साथ एक ही त्रुटि मिल रही है।

क्या कोई जानता है कि क्या गलत हो रहा है? बेहतर अभी तक, क्या वहां कोई है जो ऐसा करने में कामयाब रहा है जो मैं करना चाहता हूं (एसएसएच के माध्यम से विंडोज़ रिपोजिटरी से पुश करें और खींचें)?

धन्यवाद!

उत्तर

2

मैं सेटअप उस तरह से नहीं किया है (मेरे ssh सर्वर एक Solaris10 एक है), लेकिन सेटअप gitolite की कोशिश करते हुए मैं सबसे ssh त्रुटि मिल गया है।

  1. एक शर्त के रूप में, gitolite की मांग ssh [email protected] git --version काम करता है कि
  2. gitolite एक दिलचस्प ssh विन्यास संपत्ति का उपयोग करता authorized_keys में "%HOME%/.ssh/authorized_keys फ़ाइल

तुम बस आपकी सार्वजनिक कुंजी कॉपी नहीं कर सकते (यानी से, "), लेकिन आप अपने एसएसएच कमांड के लिए निष्पादित करने के लिए एक स्क्रिप्ट का भी संदर्भ दे सकते हैं:

> more authorized_keys 
command="path/to/any/script/you/want" ssh-rsa AAAAB3N;...A_long_key..J6U19Jsf/kuO99XIrNE4ePzHw== [email protected]_hostname 

मतलब y ssh कमांड आप उस रिमोट ssh [email protected] dir पर कोशिश करेंगे, वास्तव में रिमोट (पीसी) कंप्यूटर पर उस स्क्रिप्ट को कॉल करेंगे।
(अगर यह एक पर्ल स्क्रिप्ट है, यह तो system(your_command) कॉल कर सकते हैं वास्तव में आप क्या जरूरत है निष्पादित करने के लिए) है कि स्क्रिप्ट से

, आप प्रदर्शित करने और नियंत्रण (और डिबग) किसी भी वातावरण चर कि के परिणाम को प्रभावित कर सकता है कर सकते हैं आदेश आप एसएसएच के माध्यम से निष्पादित करने की कोशिश कर रहे हैं।
(पर्ल) स्क्रिप्ट आप ssh के माध्यम से कॉल कर सकते हैं का एक उदाहरण के रूप में .gitolite/src/gl-auth-command देखें (बशर्ते वह अपने authorized_keys फ़ाइल में आपकी सार्वजनिक कुंजी से पहले घोषित किया जाता है)

0

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

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