Jika ini merupakan masalah dengan firewall Anda yang memblokir port protokol git: (9418), maka Anda harus melakukan perubahan yang lebih gigih sehingga Anda tidak harus ingat untuk mengeluarkan perintah yang disarankan oleh posting lain untuk setiap repo git.
Solusi di bawah ini juga hanya berfungsi untuk submodul yang mungkin juga menggunakan protokol git:.
Karena pesan git tidak benar-benar langsung menunjuk ke port memblokir firewall 9418, mari kita coba untuk mendiagnosis ini sebagai masalah aktual.
Mendiagnosis Masalah
Referensi: https://superuser.com/q/621870/203918 dan https://unix.stackexchange.com/q/11756/57414
Ada beberapa alat yang dapat kita gunakan untuk menentukan apakah firewall menyebabkan masalah kita - gunakan mana saja yang diinstal pada sistem Anda.
# 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
OK, jadi sekarang kita telah menentukan bahwa port git kita diblokir oleh firewall, apa yang bisa kita lakukan? Baca terus :)
Penulisan Ulang URL Dasar
Git menyediakan cara untuk menulis ulang URL menggunakan git config. Cukup terbitkan perintah berikut:
git config --global url."https://".insteadOf git://
Sekarang, seolah-olah dengan sihir, semua perintah git akan melakukan substitusi git://kehttps://
Apa Perubahan yang Dilakukan Perintah Ini?
Lihatlah konfigurasi global Anda menggunakan:
git config --list
Anda akan melihat baris berikut di output:
url.https://.insteadof=git://
Anda dapat melihat bagaimana ini terlihat di file, dengan mengintip di ~/.gitconfigmana Anda sekarang akan melihat bahwa dua baris berikut telah ditambahkan:
[url "https://"]
insteadOf = git://
Ingin Lebih Banyak Kontrol?
Cukup gunakan URL yang lebih lengkap / spesifik dalam penggantian. Misalnya, untuk hanya memiliki URL GitHub gunakan https: // alih-alih git: //, Anda dapat menggunakan sesuatu seperti:
git config --global url."https://github".insteadOf git://github
Anda dapat menjalankan perintah ini beberapa kali menggunakan penggantian yang berbeda. Namun, jika URL cocok dengan beberapa penggantian, kecocokan terlama "menang". Hanya satu penggantian yang akan dilakukan per URL.
Perubahan Seluruh Sistem untuk Sysadmin
Jika Anda seorang Sysadmin Linux dan Anda tidak ingin pengguna Anda harus melalui rasa sakit di atas Anda dapat membuat perubahan konfigurasi git cepat seluruh sistem.
Cukup edit atau tambahkan konten berikut ke /etc/gitconfigdan voila pengguna Anda tidak perlu khawatir tentang hal-hal di atas:
[url "https://"]
insteadOf = git://