การกำหนดค่า 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 เป็นเวลานานนั้นยากต่อการทำความเข้าใจมากกว่าความแตกต่างของเครือข่ายที่คุณพยายามแสดงออกมา

บทความที่เกี่ยวข้อง