Catatan: sementara use-case yang dijelaskan adalah tentang menggunakan submodules dalam suatu proyek, hal yang sama berlaku untuk git clone
repositori normal melalui HTTP.
Saya punya proyek di bawah kendali Git. Saya ingin menambahkan submodule:
git submodule add http://github.com/jscruggs/metric_fu.git vendor/plugins/metric_fu
Tapi saya mengerti
...
got 1b0313f016d98e556396c91d08127c59722762d0
got 4c42d44a9221209293e5f3eb7e662a1571b09421
got b0d6414e3ca5c2fb4b95b7712c7edbf7d2becac7
error: Unable to find abc07fcf79aebed56497e3894c6c3c06046f913a under http://github.com/jscruggs/metri...
Cannot obtain needed commit abc07fcf79aebed56497e3894c6c3c06046f913a
while processing commit ee576543b3a0820cc966cc10cc41e6ffb3415658.
fatal: Fetch failed.
Clone of 'http://github.com/jscruggs/metric_fu.git' into submodule path 'vendor/plugins/metric_fu'
Saya sudah mengatur HTTP_PROXY saya:
c:\project> echo %HTTP_PROXY%
http://proxy.mycompany:80
Saya bahkan memiliki pengaturan Git global untuk proksi http:
c:\project> git config --get http.proxy
http://proxy.mycompany:80
Adakah yang mendapat HTTP untuk bekerja secara konsisten melalui proxy? Apa yang benar-benar aneh adalah bahwa beberapa proyek pada GitHub berfungsi dengan baik ( awesome_nested_set
misalnya), tetapi yang lain secara konsisten gagal ( misalnya rel ).
git
proxy
git-submodules
James A. Rosen
sumber
sumber
--global
untukgit config
.Jawaban:
Anda juga dapat mengatur proxy HTTP yang digunakan Git di properti konfigurasi global
http.proxy
:Untuk mengautentikasi dengan proxy:
(Kredit jatuh ke @EugeneKulabuhov dan @JaimeReynoso untuk format otentikasi.)
sumber
git config --global http.proxy http://mydomain\\myusername:mypassword@myproxyserver:8080
sintaks untuk memberikan nama pengguna / kata sandiSudah ada beberapa jawaban bagus untuk ini. Namun, saya pikir saya akan ikut serta karena beberapa server proxy meminta Anda untuk mengautentikasi dengan ID pengguna dan kata sandi. Terkadang ini bisa berada di domain.
Jadi, misalnya jika konfigurasi server proxy Anda adalah sebagai berikut:
Kemudian, tambahkan ke
.gitconfig
file Anda menggunakan perintah berikut:Jangan khawatir
https
. Selama server proxy yang ditentukan mendukung http, dan https, maka satu entri dalam file config akan cukup.Anda kemudian dapat memverifikasi bahwa perintah berhasil menambahkan entri ke
.gitconfig
file Andacat .gitconfig
:Di akhir file Anda akan melihat entri sebagai berikut:
Itu dia!
sumber
%40
dan itu akan berfungsi.Yang akhirnya berhasil adalah mengatur
http_proxy
variabel lingkungan. Saya telah mengaturHTTP_PROXY
dengan benar, tetapi git tampaknya lebih suka versi huruf kecil.sumber
http.proxy
dalam konfigurasi global Git berfungsi? Dalam pertanyaan Anda, Anda mengaturhttp.proxy
konfigurasi repositori lokal.https_proxy
https.proxy
tampaknya bekerja untuk saya karena saya menggunakan https lebih dari githubhttps_proxy
ini berarti Anda menggunakanhttps
bukanhttp
yang pertanyaan tentang.Sepertinya Anda menggunakan kompilasi mingw dari Git di windows (atau mungkin yang lain yang belum pernah saya dengar). Ada beberapa cara untuk men-debug ini: Saya percaya semua pekerjaan proxy http untuk git dilakukan oleh curl. Setel variabel lingkungan ini sebelum menjalankan git:
Setidaknya ini harus memberi Anda gambaran tentang apa yang terjadi di balik layar.
sumber
Jika Anda hanya ingin menggunakan proxy pada repositori yang ditentukan, tidak perlu pada repositori lain. Cara yang lebih disukai adalah
-c, --config <key=value>
opsi ketika Andagit clone
repositori. misalnyasumber
--config
beberapa kali, misalnya kapan Anda juga ingin mengaturhttps.proxy
.Ketika tim jaringan Anda melakukan ssl-inspeksi dengan menulis ulang sertifikat, kemudian menggunakan url http alih-alih https, dikombinasikan dengan pengaturan var ini bekerja untuk saya.
sumber
Anda juga dapat mengedit file .gitconfig yang terletak di direktori% userprofile% pada sistem Windows ( notepad% userprofile% .gitconfig ) atau dalam ~ direktori pada sistem Linux ( vi ~ / .gitconfig ) dan menambahkan bagian http seperti di bawah ini.
Konten file .gitconfig:
sumber
Bagi saya git: // tidak bekerja melalui proxy meskipun https: // tidak. Ini menyebabkan sedikit sakit kepala karena saya menjalankan skrip yang semuanya menggunakan git: // jadi saya tidak bisa dengan mudah mengubah semuanya. Namun saya menemukan GEM ini
sumber
Ini adalah pertanyaan lama tetapi jika Anda menggunakan Windows, pertimbangkan untuk mengatur HTTPS_PROXY juga jika Anda mengambil melalui URL https. Bekerja untukku!
sumber
https_proxy
variabel lingkungan saja (tidak ada opsi git global atau proxy yang disetel) dalam kasus saya (msysgit pada Windows XP).Saya tidak menemukan
http.proxy
atauGIT_PROXY_COMMAND
berfungsi untuk proksi http asli saya. Proxy tidak dipicu dengan cara apa pun. Tetapi saya menemukan cara untuk mengatasi ini.Buat authfile. Format untuk
authfile
adalah:,user_name:password
danuser_name
,password
adalah nama pengguna dan kata sandi Anda untuk mengakses proxy Anda. Untuk membuat file tersebut, jalankan perintah seperti ini:echo "username:password" > ~/.ssh/authfile
.Edit
~/.ssh/config
, dan pastikan izinnya adalah644
:chmod 644 ~/.ssh/config
Ambil github.com sebagai contoh, tambahkan baris berikut ke
~/.ssh/config
:Sekarang, kapan pun Anda melakukan sesuatu
[email protected]
, itu akan menggunakan proxy secara otomatis. Anda dapat dengan mudah melakukan hal yang sama pada Bitbucket juga.Ini tidak begitu elegan seperti pendekatan lain, tetapi bekerja seperti pesona.
sumber
Di Windows, jika Anda tidak ingin memasukkan kata sandi di .gitconfig dalam teks biasa, Anda dapat menggunakannya
Ini mengotentikasi Anda terhadap proxy Windows NTLM normal atau bahkan dan mulai localhost-proxy tanpa otentikasi.
Untuk menjalankannya:
Arahkan git ke proksi localhost baru Anda:
sumber
Bagi saya apa yang berhasil adalah:
Buat file di dalam $ BIN_PATH / gitproxy Anda dengan:
Jangan lupa untuk memberikan izin eksekusi
Jalankan perintah berikut untuk mengatur lingkungan:
sumber
git://
URL protokol, untuk server git (jarang) yang tidak mendukung https. Juga berfungsi di windows, dengan file batch yang sesuai dan socat untuk windows.Atur proxy ke git
perintah
contoh
sumber
Set Git credential.helper ke wincred.
Pastikan hanya ada 1 credential.helper
Jika ada lebih dari 1 dan tidak disetel untuk menghapusnya.
Sekarang atur proxy tanpa kata sandi.
Periksa bahwa semua pengaturan yang Anda tambahkan terlihat bagus ....
Sekarang kamu baik-baik saja!
sumber
Saya memiliki masalah yang sama, dengan perbaikan yang sedikit berbeda: MEMBANGUN KEMBALI GIT DENGAN DUKUNGAN HTTP
The
git:
protokol tidak bekerja melalui firewall perusahaan saya.Misalnya, waktu habis:
curl github.com
berfungsi dengan baik, jadi saya tahuhttp_proxy
variabel lingkungan saya benar.Saya mencoba menggunakan
http
, seperti di bawah ini, tetapi langsung mendapat kesalahan.Saya mencoba mengkompilasi ulang git seperti ini:
tapi masih ada kesalahan fatal.
Akhirnya, setelah beberapa jam yang membuat frustrasi, saya membaca file configure, dan melihat ini:
Saya ingat saat itu, bahwa saya belum memenuhi
curl
dari sumber, dan pergi mencari file header. Benar saja, mereka tidak diinstal. Itu masalahnya. Make tidak mengeluh tentang file header yang hilang. Jadi saya tidak menyadari bahwa--with-curl
opsi tidak melakukan apa - apa (itu, sebenarnya default di versi sayagit
).Saya melakukan yang berikut untuk memperbaikinya:
Menambahkan tajuk yang diperlukan untuk make:
Dihapus
git
dari/usr/local
(karena saya ingin instalasi baru tinggal di sana).Saya hanya dihapus
git*
dari/usr/local/share
dan/usr/local/libexec
Mencari dir sertakan yang berisi file
curl
danexpat
header, dan kemudian (karena saya telah membacaconfigure
) menambahkan ini ke lingkungan seperti:Berlari
configure
dengan opsi-opsi berikut, yang, sekali lagi, dijelaskan dalamconfigure
file itu sendiri, dan juga default tetapi apa-apaan:Dan sekarang
http
bekerja dengangit
melalui firewall perusahaan saya:sumber
Hanya untuk memposting ini karena ini adalah hasil pertama di Google, posting blog ini yang saya temukan menyelesaikan masalah bagi saya dengan memperbarui sertifikat keriting.
http://www.simplicidade.org/notes/archives/2011/06/github_ssl_ca_errors.html
sumber
git config --global http.sslcainfo NEW_CERTS_BUNDLE.crt
seperti yang dijelaskan dalam: stackoverflow.com/a/8248484/98528 melakukannya untuk saya! Terima kasih!Ini berhasil bagi saya.
sumber
kamu bisa menggunakan:
sumber
Gunakan rantai proxy
perbarui: proxychains dihentikan, gunakan proxychains-ng sebagai gantinya.
sumber
Untuk Windows
Goto -> C: / Users / user_name / gitconfig
Perbarui file gitconfig dengan detail di bawah ini
[http]
[https]
[http]
Bagaimana cara memeriksa proxy dan nomor port Anda?
Internet Explorer -> Pengaturan -> Opsi Internet -> Koneksi -> Pengaturan LAN
sumber
Metode di bawah ini berfungsi untuk saya:
sumber
Layak untuk disebutkan: Sebagian besar contoh di internet menunjukkan contoh suka
Jadi tampaknya, bahwa - jika proxy Anda memerlukan otentikasi - Anda harus melakukannya meninggalkan kata sandi perusahaan Anda di git-config. Yang tidak terlalu keren.
Tetapi, jika Anda hanya mengkonfigurasi pengguna tanpa kata sandi:
Git tampaknya (setidaknya pada mesin Windows saya tanpa bantuan kredensial) untuk mengenalinya dan meminta kata sandi proksi pada akses-repo.
sumber
Ini bukan masalah dengan proxy Anda. Ini masalah dengan github (atau git). Gagal bagi saya di git-1.6.0.1 di linux juga. Bug sudah dilaporkan (oleh Anda tidak kurang).
Pastikan untuk menghapus pasties Anda, mereka sudah di google. Sunting: Pasti bermimpi, saya kira Anda tidak dapat menghapusnya. Gunakan Gist saja?
sumber
$ http_proxy untuk http://github.com .... $ https_proxy untuk https://github.com ...
sumber
Jawaban di atas berfungsi untuk saya ketika proxy saya tidak perlu otentikasi. Jika Anda menggunakan proxy yang mengharuskan Anda untuk mengotentikasi, Anda dapat mencoba CCProxy. Saya punya tutorial kecil tentang cara mengaturnya di sini,
http://blog.praveenkumar.co.in/2012/09/proxy-free-windows-xp78-and-mobiles.html
Saya bisa mendorong, menarik, membuat repo baru. Semuanya bekerja dengan baik. Pastikan Anda melakukan uninstall dan instal ulang versi baru jika Anda menghadapi masalah dengan Git seperti yang saya lakukan.
sumber
sebagai @ user2188765 telah tunjukkan, coba ganti
git://
protokol repositori denganhttp[s]://
. Lihat juga jawaban inisumber
Saya menggunakan proxy menggunakan https ... beberapa proxy bahkan tidak memeriksa https.
sumber
Karena ini dijawab oleh banyak orang tetapi ini hanya untuk Winodws USER yang berada di belakang proxy dengan auth.
Menginstal ulang (pertama gagal, Jangan hapus).
jika Anda memiliki karakter khusus di pengguna / pass gunakan url_encode
sumber