SORU
3 ŞUBAT 2011, PERŞEMBE


:// protokolü şirketi tarafından engellenen git, bu gibi durumlarda nasıl alabilirim?

git clone git://github.com/ry/node.git gibi bir şey denemeden çalışmaz sonuçları:

Initialized empty Git repository in /home/robert/node/.git/
github.com[0: 207.97.227.239]: errno=Connection timed out
fatal: unable to connect a socket (Connection timed out)

Ancak, HTTP klonlama üzerinde çalışıyor. Şimdiye kadar protokolü ile ilgili bir sorun olduğunu topladım, ama komut gerektiren cloud9 yüklemeye çalışıyorum

git submodule update --init --recursive

gıt:// ve başarısız protokolü kullanmaya çalışıyor. Bir komut ya da bir şey nasıl çalışacağını değiştirmek için var mı?

CEVAP
24 Mayıs 2012, PERŞEMBE


Eğer bu bir sorun ile güvenlik duvarı engelleme gıt: protokol port (9418), sonra sen bir daha kalıcı değiştirmek zorunda kalmamak için hatırlamak sorun komutları tarafından önerilen diğer yazılar için her gıt repo.

Çözüm ayrıca gıt kullanıyor olabilir hangi alt modüller için çalışıyor aşağıda: protokol.

Gıt mesaj gerçekten güvenlik duvarı derhal engelleme noktası olmadığından 9418 sağlar port asıl sorun bu teşhis etmeye çalışın.

Sorunu teşhis

Referanslar: http://superuser.com/q/621870/203918 http://unix.stackexchange.com/q/11756/57414

Eğer güvenlik duvarı soruna neden - sisteminizde yüklü olan hangisi kolay olmadığını belirlemek için kullanabileceğimiz çeşitli araçlar vardır.

# Using nmap
# A state of "filtered" against port 9418 (git) means
#   that traffic is being filtered by a firewall
$ nmap github.com -p http,git

Starting Nmap 5.21 ( http://nmap.org ) at 2015-01-21 10:55 ACDT
Nmap scan report for github.com (192.30.252.131)
Host is up (0.24s latency).
PORT     STATE    SERVICE
80/tcp   open     http
9418/tcp filtered git

# Using Netcat:
# Returns 0 if the git protocol port IS NOT blocked
# Returns 1 if the git protocol port IS blocked
$ nc github.com 9418 < /dev/null; echo $?
1

# Using CURL
# Returns an exit code of (7) if the git protocol port IS blocked
# Returns no output if the git protocol port IS NOT blocked
$ curl  http://github.com:9418
curl: (7) couldn't connect to host

TAMAM, şimdi git limanımız bu konuda ne yapabiliriz bir güvenlik duvarı tarafından engelleniyor belirledik? Okumaya devam :)

Temel URL Yeniden yazma

Git URL git config kullanarak yeniden yazmak için bir yol sağlar. Sadece aşağıdaki komutu çalıştırın:

git config --global url."https://".insteadOf git://

Sihir gibi, bütün gıt komutları git:// bir ikame 15 ** bir konser verecek

Değişiklikler Bu Komut Ne Yaptın?

Genel yapılandırma kullanarak bir göz atın:

git config --list

Çıkış aşağıdaki satırı göreceksiniz:

url.https://.insteadof=git://

Bu dosya üzerinde nasıl göründüğünü, şimdi aşağıdaki iki satırı eklenmiş görmelisiniz nerede ~/.gitconfig bir göz atarak görebilirsiniz:

[url "https://"]
    insteadOf = git://

Daha Fazla Kontrol İster Misin?

Sadece yerine daha kapsamlı/belirli bir URL kullanın. Örneğin, sadece GitHub URL:// gibi bir şey kullanabilirsin https:// yerine git kullanın:

git config --global url."https://github".insteadOf git://github

Bu komut birden çok kez farklı değiştirmeleri gerekir. Ancak, bir URL birden çok değişiklik eşleşen bir durumda, en uzun maç "" kazandı. Sadece tek bir yedek her bir URL verilecektir.

Sistem genelinde Sistem Değişiklikleri

Linux Sysadmin ve kullanıcılar yukarıdaki ağrıları üzerine gitmek istemiyorsan sistem genelinde hızlı git bir yapılandırma değişikliği yapabilirsiniz.

Sadece düzenlemek veya /etc/gitconfig aşağıdaki içeriği ekleyin ve kullanıcıların voila yukarıdakilerden herhangi biri hakkında endişelenmenize gerek yok:

[url "https://"]
    insteadOf = git://

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • humanHardDrive

    humanHardDri

    16 Mart 2011
  • Rickymon Tero

    Rickymon Ter

    1 Ocak 2007
  • TimMinchinLive

    TimMinchinLi

    23 ŞUBAT 2009