Bagaimana saya membuat Git menggunakan server proxy?
Saya perlu memeriksa kode dari server Git, tetapi ini menunjukkan "Permintaan habis waktu" setiap kali. Bagaimana saya mengatasi ini?
Atau, bagaimana saya bisa mengatur server proxy?
git
version-control
proxy
PlagueHammer
sumber
sumber
Jawaban:
Perintah untuk menggunakan:
proxyuser
ke pengguna proxy Andaproxypwd
kata sandi proxy Andaproxy.server.com
ke URL server proxy Anda8080
ke port proxy yang dikonfigurasi di server proxy AndaPerhatikan bahwa ini berfungsi untuk repos http dan https.
Jika Anda memutuskan kapan saja untuk mengatur ulang proxy ini dan bekerja tanpa proxy:
Perintah untuk menggunakan:
Akhirnya, untuk memeriksa proxy yang saat ini ditetapkan:
sumber
%40
sebagai pengganti untuk@
string nama pengguna / kata sandi, meskipun saya belum mengujinya sendiri. Semoga ini bisa membantu. :-)Ini bekerja untuk saya, di windows XP di belakang firewall perusahaan.
Saya tidak perlu menginstal proxy lokal atau perangkat lunak lain selain git v1.771 dari http://code.google.com/p/msysgit/downloads/list?can=3
pengguna proxy = pengguna proxy yang ditugaskan oleh departemen TI kami, dalam kasus saya ini adalah pengguna windows yang sama yang saya gunakan untuk masuk ke PC saya, pengguna Active Directory
proxypwd = kata sandi pengguna proxy saya
proxy.server.com:8080 = nama dan port proxy, saya mendapatkannya dari Control Panel, Opsi Internet, Koneksi, tombol Pengaturan Lan, tombol Advanced di dalam bagian Server Proxy, gunakan nama server dan port pada baris (http) pertama .
mygithubuser = pengguna yang saya gunakan untuk masuk ke github.com
mygithubpwd = kata sandi untuk pengguna github.com saya
repoUser = pemilik pengguna repo
repoName = nama repo
sumber
git config --global http.sslcainfo MY_NEW_CERTS_BUNDLE.crt
ditambah sertifikat yang diunduh seperti dijelaskan dalam simplicidade.org/notes/archives/2011/06/… (terima kasih kepada: stackoverflow.com/a/7206627/98528 ) melakukannya untuk saya!git://
protokol.Setel variabel sistem yang dinamai
http_proxy
dengan nilaiProxyServer:Port
. Itu adalah solusi paling sederhana. Masing-masing, gunakanhttps_proxy
seperti yang ditunjukkan daefu dalam komentar.Pengaturan gitproxy (seperti sleske menyebutkan) adalah pilihan lain, tetapi itu membutuhkan "perintah", yang tidak semudah solusi di atas.
Referensi: http://bardofschool.blogspot.com/2008/11/use-git-behind-proxy.html
sumber
http_proxy
diperlukan untuk URL HTTP danhttps_proxy
diperlukan untuk URL HTTPS. Atau, seseorang bisa mengaturall_proxy
untuk semua URL. LihatENVIRONMENT
bagian dalam ikal (1) . Namun, saat mengatur opsi git-config,http.proxy
digunakan untuk URL HTTP dan HTTPS. Lihathttp.proxy
di git-config (1) .Jika cara baris perintah untuk mengonfigurasi server proxy Anda tidak berfungsi, Anda mungkin dapat mengedit .gitconfig (di root profil Anda, yang mungkin menyembunyikan keduanya di C: \ Documents and Settings dan pada beberapa drive jaringan) dan tambahkan ini :
YMMV, ini hanya mencakup langkah pertama dari konfigurasi baris perintah. Anda mungkin harus mengedit konfigurasi sistem git juga dan saya tidak tahu di mana mereka menyembunyikannya.
sumber
Sebagai alternatif untuk menggunakan
git config --global http.proxy address:port
, Anda dapat mengatur proxy di baris perintah:Keuntungannya adalah proxy tidak diset secara terus-menerus. Di bawah Bash Anda mungkin menetapkan alias:
sumber
Jika Anda menggunakan ubuntu, maka lakukan hal berikut ...
Langkah 1: Instal pembuka botol
Langkah 2: Tulis skrip bernama git-proxy.sh dan tambahkan berikut ini
Langkah 3: Buat skrip dapat dieksekusi
Langkah 4: Siapkan perintah proxy untuk GIT dengan mengatur variabel lingkungan
Sekarang gunakan perintah git, seperti
sumber
"$@"
sebagai gantinya$*
. Lihat manual shell Anda untuk lebih jelasnya.Menghadapi masalah yang sama karena beberapa
.gitconfig
file di windows, ikuti langkah-langkah di bawah ini untuk memperbaiki yang sama:Langkah 1: Buka Git BASH
Langkah 2: Cari
.gitconfig
, jalankan perintah berikut:Langkah 3: Salin konten di bawah ini di
.gitconfig
:sumber
Coba letakkan yang berikut ini ke file ~ / .gitconfig:
sumber
Untuk protokol git (git: // ...), instal socat dan tulis skrip seperti:
membuatnya dapat dieksekusi, letakkan di jalur Anda, dan di
~/.gitconfig
set Andacore.gitproxy
dengan nama skrip itu.sumber
socat STDIO PROXY:%proxy%:%1:%2,proxyport=%PROXYPORT%
set GIT_PROXY_COMMAND=path\to\script
untuk membuat GIT menggunakan proxy tanpa mengacaukan konfigurasi git.Ada sesuatu yang saya perhatikan dan ingin saya bagikan di sini:
Metode di atas tidak akan berfungsi untuk ssh URL (yaitu,
[email protected]:<user name>/<project name>.git
):Dan hal-hal tidak akan berubah jika kita menetapkan SSH di atas port HTTPS ( https://help.github.com/en/articles/using-ssh-over-the-https-port ) karena hanya mengubah port (22 secara default) ) koneksi ssh terhubung ke.
(Bukan penutur asli bahasa Inggris, harap perbaiki kata-kata saya jika perlu)
sumber
Saya bekerja pada Windows XP di tempat kerja (negara bagian / gov), jadi saya melakukan penelitian dan menemukan ini di sini dan itu berhasil untuk saya. Semoga ini membantu :)
Variabel Lingkungan http_proxy
Jika Anda menggunakan server proxy atau firewall, Anda mungkin perlu mengatur variabel lingkungan http_proxy untuk mengakses beberapa url dari commandline. Contoh: Menginstal ppm untuk perl atau menerapkan rpm di linux, memperbarui ubuntu
Setel variabel http_proxy dengan nama host atau alamat IP dari server proxy: http_proxy = http: // [proxy.example.org]
Jika server proksi memerlukan nama pengguna dan kata sandi, masukkan mereka dalam bentuk berikut: http_proxy = http: // [nama pengguna: kata [email protected]]
Jika server proxy menggunakan port selain 80, sertakan nomor port: http_proxy = http: // [nama pengguna: [email protected]: 8080]
Windows XP
Linux, Solaris atau HP-UX
Setel variabel lingkungan http_proxy menggunakan perintah khusus untuk shell Anda (mis. Set atau ekspor). Untuk membuat perubahan ini terus-menerus, tambahkan perintah ke file profil yang sesuai untuk shell. Misalnya, di bash, tambahkan baris seperti berikut ke file .bash_profile atau .bashrc Anda:
sumber
Sebagai tambahan dari jawaban-jawaban ini, saya merasa terbantu untuk mempertimbangkan 2 poin ini:
Seseorang mungkin perlu menegakkan skema otentikasi:
Juga, biasanya dengan skema otentikasi NTLM, seseorang mungkin perlu memberikan secara eksplisit domain AD.
Dalam git bash:
Dan perbarui http.proxy sesuai:
Bagaimanapun, investigasi dapat dibantu dengan menambahkan log CURL:
sumber
git config --global http.proxyAuthMethod basic
. Git gersion 2.8.3 tidak mengirim otentikasi apa pun hingga saya menetapkan parameter konfigurasi ini.Jika Anda memiliki tsocks atau rantai proxy diinstal dan dikonfigurasi, Anda bisa
atau
untuk membuatnya lebih pendek, saya membuat link simbol
/usr/bin/p
untukproxychains
, sehingga saya dapat menggunakannya seperti inidan saya bisa menggunakannya untuk mem-proxy perintah apa saja,
Ngomong- ngomong, proxychains tidak diperbarui untuk waktu yang lama, Anda mungkin ingin mencoba proxychians-ng
sumber
Mengatur git proxy di terminal
jika
Atur secara global sekali
jika Anda ingin menetapkan proxy hanya untuk satu proyek git (mungkin ada beberapa situasi di mana Anda mungkin tidak ingin menggunakan proxy yang sama atau proxy apa pun sama sekali untuk beberapa koneksi git)
jika Anda ingin menampilkan pengaturan proxy saat ini
jika Anda ingin menghapus proxy secara global
jika Anda ingin menghapus proxy hanya untuk satu root git
sumber
di sini adalah pengaturan proxy
sumber
Saya mengikuti sebagian besar jawaban yang direkomendasikan di sini. Pertama saya mendapat kesalahan berikut:
Kemudian saya sudah mencoba perintah berikut oleh @Salim Hamidi
Tapi saya mendapat kesalahan berikut:
Ini bisa terjadi jika server proxy tidak dapat memverifikasi sertifikat SSL. Jadi kami ingin memastikan bahwa verifikasi ssl tidak aktif (tidak disarankan untuk situs yang tidak tepercaya), jadi saya telah melakukan langkah-langkah berikut yang direkomendasikan oleh @Arpit tetapi dengan sedikit perubahan:
1.Pertama kali pastikan untuk menghapus pengaturan proxy sebelumnya:
2.Lalu daftar dan dapatkan konten gitconfig
3. Terakhir perbarui konten file gitconfig seperti di bawah ini:
sumber
Saya telah mencoba semua jawaban di atas dan tidak ada yang berhasil untuk saya, karena ada masalah penyandian kata sandi proxy.
Perintah ini berhasil:
Jangan masukkan kata sandi dalam perintah Anda. Itu akan secara dinamis meminta ketika Anda mencoba terhubung ke repo git.
sumber
Untuk pengguna windows: jika
git config
atauset http_proxy=
tidak berfungsi, jawaban ini dapat membantu:ganti
git://
protokol repositori git denganhttp://
. Catatan, Anda harus mengatur yanghttp_proxy
pertama.sumber
Setelah tanpa lelah mencoba setiap solusi di halaman ini, pekerjaan saya adalah menggunakan dan kunci SSH!
sumber