Một cấu hình Git có thể phục vụ hai tuyến hoàn toàn khác nhau: một máy chủ bên ngoài được truy cập qua proxy đã được phê duyệt và một máy chủ nội bộ được truy cập trực tiếp. Bạn không cần phải sửa giá trị mặc định toàn cục mỗi khi chuyển kho lưu trữ.

Git hỗ trợ cấu hình HTTP theo URL. Ví dụ:

[http]
    proxy = http://proxy.example:8080
[http "https://git.office.example/"]
    proxy =

Đối với kho lưu trữ công khai bên ngoài nơi proxy công khai được phép, danh sách proxy HTTP cung cấp các ứng viên cho điểm cuối mặc định. Giá trị rỗng là một ghi đè rõ ràng cho URL khớp. Nó khác với việc xóa khóa cụ thể hơn đó, vốn có thể lại để lộ proxy chung.

Khớp URL mà Git sử dụng

Lược đồ, tên máy chủ, cổng, đường dẫn và tên người dùng tùy chọn tham gia vào các quy tắc khớp được ghi trong tài liệu. Đừng coi phần phụ URL là biểu thức ký tự đại diện shell thông thường. Một quy tắc đường dẫn hẹp hơn có thể thắng một quy tắc máy chủ rộng hơn.

Để chỉ đọc cấu hình proxy khớp:

git config --get-urlmatch http.proxy https://git.office.example/team/project.git

Điều này kiểm tra việc khớp cấu hình. Đây không phải là bài kiểm tra mạng và không chứng minh tuyến có thể truy cập được. Cũng hãy tính đến các phạm vi cấu hình khác và các thiết lập môi trường liên quan.

Chuyển hướng không phải là một lần khớp cấu hình mới

Tài liệu của Git nói rằng các URL được khớp là những URL được cung cấp trực tiếp cho các lệnh Git; các URL được truy cập do chuyển hướng không tham gia vào việc khớp đó. Hãy ghi nhớ giới hạn đó nếu máy chủ đầu tiên chuyển hướng tải xuống nơi khác.

Tuyến cũng phải khớp với phương thức truyền tải. Một kho lưu trữ từ xa SSH không chịu sự điều chỉnh của phần phụ URL HTTP chỉ vì cùng dịch vụ đó cung cấp một trang web HTTPS.

Hãy dùng một vài quy tắc có chủ đích, rồi kiểm tra kết quả cho các URL đại diện. Việc tích tụ lâu dài các mục proxy toàn cục, cục bộ trong kho lưu trữ và riêng theo URL khó lý giải hơn nhiều so với sự phân biệt mạng mà bạn đang cố diễn đạt.

Bài viết liên quan