2010-05-20 19 views
5

üzerinden bir itme/çekme işlemi yapabilirim Windows tabanlı bir web sunucusu kurmaya çalışıyorum, ancak Mac OSX'te geliştirme işlemini gerçekleştiriyorum. Windows sunucusuna freeSSHd ve msysGit yükledim ve istediğim yerde bir depo kurdum. Ayrıca Mac'imde gitmem ve orada bir repo kurdum. SSH üzerinden klonlamaya, çekmeye veya windows repo'ya basmaya çalıştığımda bana hata veriyor, "ölümcül: protokol hatası: hatalı satır uzunluğu karakteri" İstemcimde uzaktan kumandayı ayarlamam önemli değil Mac OSX) makine - var olmayan bir klasöre işaret edebilir ve hala bana bu hatayı verir.Windows'ta bir git deposu nasıl ayarlayabilirim ve sonra Mac OSX

Bunu da bir Linux kutusunda denedim ve etrafımda oturdum ve mükemmel çalışıyor, bu yüzden Mac'im değil.

Birkaç fikirleri var:

  1. Belki freeSSHd doğru (as suggested here) davranmak değildir bu yüzden Windows için farklı bir SSH sunucusuna alabilir - belki OpenSSH

  2. Belki yazdıklarım Mac ve Windows dosya yollarını hatalı şekilde birleştiren kod. I güvenilir:
    Sudo git clone SSH: //[email protected]/C:/Kullanıcılar/[my_username]/[remote_repo_name] /.git [hedef]

    ve

    Sudo git clone ssh: //[email protected]/C: \ Kullanıcılar \ [my_username] \ [remote_repo_name] \ .git [hedef]

    Her ikisinde de aynı hatayı alıyorum.

Neyin yanlış gittiğini bilen var mı? Daha da iyisi, yapmak istediğimi yapmayı başaran herhangi bir kimse var mı (SSH üzerinden bir pencere deposundan itin ve çekin)?

Teşekkürler!

Ben kurulum bu tür yapmadım

cevap

2

(benim ssh sunucu bir Solaris10 biridir), ancak kurulum gitolite çalışırken en çok ssh hatası bulduk. ssh [email protected] git --versionauthorized_keys "yani sadece orada genel anahtarınızı kopyalayamazsınız

%HOME%/.ssh/authorized_keys dosyası (gelen,

  • gitolite ilginç bir SSH yapılandırma özelliğini kullanır çalıştığını önkoşul olarak
    1. , gitolite talepleri "), ancak aynı zamanda ssh komutunu çalıştırmak için bir betiğe başvurabilirsiniz:

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

      Anlamı bir Bu uzaktan kumandada kullanacağınız y ssh komutu, aslında uzaktaki (PC) bilgisayarda bu komut dosyasını arayacaktır.
      , o komut itibaren

      (bir Perl script eğer, o zaman aslında neye ihtiyacınız yürütmek için system(your_command) çağırabilir) görüntülemek ve kontrol (ve hata ayıklama) seyrini etkileyebilecek herhangi bir ortam değişkeni olabilir ssh ile yürütmeye çalıştığınız komut.
      Eğer ssh'dan çağırabilir (Perl) komut dosyası örneği olarak .gitolite/src/gl-auth-command Bkz

  • 0

    Sadece ne kullanmak yerine ssh kullanarak değil ilgili ölçüsüz bir şey önermek (sizin authorized_keys dosyasında genel anahtar önce beyan şartıyla) dosya paylaşımı. Mac'ler Windows paylaşımlarına erişebilir ve git fiziksel bir yoldan çalışabilir (bu, bir pencere paylaşımının neye benzeyeceği).