Tuesday, July 26, 2011

การใช้ git และ repo หลัง Proxy

เนื่องจาก git protocol ใช้ TCP port 9418 แต่ Proxy ส่วนใหญ่จะเปิดให้ TCP port ผ่านเพียง 80 (http) และ 443 (https) ซึ่งทำให้ไม่สามารถ sync repo ผ่าน git protocol ได้ ทางแก้ปัญหานี้คือ
Server ของ git จะมีการรองรับ http protocol ไว้ด้วยอยู่แล้ว ดังนั้นเราก็ไปใช้ protocol นั้นเลยดีกว่า ผ่าน proxy ได้ด้วย
วิธีทำ
  1. Set ค่า git proxy ด้วยคำสั่ง : git config --global http.proxy {IP ของ proxy}:{port ของ proxy} ตัวอย่างเช่น git config --global http.proxy 192.168.1.254:8080 เป็นต้น
  2. ทำการติดตั้ง repo
  3. เปลี่ยน directory ไปที่ต้องการจะ fetch แล้วรันคำสั่งโหลด manifest file มาเช่น repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread เป็นต้น
  4. หลังจากนั้นจะได้ directory .repo มาให้เปลี่ยน directory เข้าไปแก้ไข .repo/manifest.xml line ที่ 4 เปลี่ยน git:// เป็น https://
  5. แก้ไข file .repo/repo/repo line ที่ 5 เปลี่ยน git:// เป็น http://
  6. จากนี้ก็สามารถ repo sync หลัง proxy ได้แล้ว

No comments: