ให้ Git มีกฎพร็อกซีที่แตกต่างกันสำหรับโฮสต์ที่แตกต่างกัน
การกำหนดค่า HTTP เฉพาะ URL ของ Git สามารถรักษาบริการภายในให้เชื่อมต่อโดยตรงพร้อมกับเก็บพร็อกซีไว้ที่อื่น ตรวจสอบผลการจับคู่สำหรับ URL ที่แน่นอน
การกำหนดค่า Git หนึ่งชุดสามารถให้บริการเส้นทางที่แตกต่างกันอย่างสิ้นเชิงสองเส้นทาง: โฮสต์ภายนอกที่เข้าถึงผ่านพร็อกซีที่ได้รับอนุญาตและโฮสต์ภายในที่เข้าถึงโดยตรง คุณไม่จำเป็นต้องแก้ไขค่าเริ่มต้นส่วนกลางทุกครั้งที่สลับที่เก็บข้อมูล
Git รองรับการกำหนดค่า HTTP เฉพาะ URL ตัวอย่างเช่น:
[http]
proxy = http://proxy.example:8080
[http "https://git.office.example/"]
proxy =
สำหรับที่เก็บข้อมูลสาธารณะภายนอกที่อนุญาตพร็อกซีสาธารณะ รายการพร็อกซี HTTP เสนอผู้สมัครสำหรับปลายทางเริ่มต้น ค่าว่างเป็นการเขียนทับอย่างชัดเจนสำหรับ URL ที่ตรงกัน ซึ่งแตกต่างจากการลบคีย์ที่เจาะจงกว่านั้น ซึ่งอาจเปิดเผยพร็อกซีทั่วไปอีกครั้ง
จับคู่ URL ที่ Git ใช้
สคีมา ชื่อโฮสต์ พอร์ต เส้นทาง และชื่อผู้ใช้ที่เป็นทางเลือกมีส่วนในกฎการจับคู่ที่บันทึกไว้ อย่าถือว่าส่วนย่อยของ URL เป็นนิพจน์ไวลด์การ์ดของเชลล์ทั่วไป กฎเส้นทางที่แคบกว่าสามารถเอาชนะกฎโฮสต์ที่กว้างกว่าได้
สำหรับการดูแบบอ่านอย่างเดียวในการกำหนดค่าพร็อกซีที่ตรงกัน:
git config --get-urlmatch http.proxy https://git.office.example/team/project.git
สิ่งนี้ตรวจสอบการจับคู่การกำหนดค่า ไม่ใช่การทดสอบเครือข่ายและไม่ได้พิสูจน์ว่าเส้นทางเข้าถึงได้ พิจารณาขอบเขตการกำหนดค่าอื่นและตั้งค่าสภาพแวดล้อมที่เกี่ยวข้องด้วย
การเปลี่ยนเส้นทางไม่ใช่การจับคู่การกำหนดค่าใหม่
เอกสารของ Git กล่าวว่า URL ที่ตรงกันคือ URL ที่ส่งให้คำสั่ง Git โดยตรง URL ที่เยี่ยมชมเนื่องจากการเปลี่ยนเส้นทางไม่มีส่วนในการจับคู่นั้น โปรดจำข้อจำกัดนี้ไว้หากโฮสต์แรกเปลี่ยนเส้นทางดาวน์โหลดไปที่อื่น
เส้นทางควรตรงกับการขนส่งด้วย รีโมต SSH ไม่ได้อยู่ภายใต้ส่วนย่อย URL HTTP เพียงเพราะบริการเดียวกันมีเว็บไซต์ HTTPS
ใช้กฎที่ตั้งใจไว้สักสองสามข้อ แล้วตรวจสอบผลลัพธ์สำหรับ URL ที่เป็นตัวแทน การสะสมรายการพร็อกซีส่วนกลาง ภายในที่เก็บข้อมูล และเฉพาะ URL เป็นเวลานานนั้นยากต่อการทำความเข้าใจมากกว่าความแตกต่างของเครือข่ายที่คุณพยายามแสดงออกมา