ใน Git ฉันจะเพิ่มเซิร์ฟเวอร์ต้นทางระยะไกลได้อย่างไรเมื่อโฮสต์ของฉันใช้พอร์ต SSH อื่น
git remote add origin ssh://user@host/srv/git/example
ใน Git ฉันจะเพิ่มเซิร์ฟเวอร์ต้นทางระยะไกลได้อย่างไรเมื่อโฮสต์ของฉันใช้พอร์ต SSH อื่น
git remote add origin ssh://user@host/srv/git/example
คำตอบ:
คุณสามารถทำสิ่งนี้:
git remote add origin ssh://user@host:1234/srv/git/example
1234
คือพอร์ต ssh ที่ใช้งานอยู่
git remote add origin user@host:1234/srv/git/example
คุณต้องแก้ไขไฟล์ ~ / .ssh / config ของคุณ เพิ่มสิ่งต่อไปนี้:
Host example.com
Port 1234
การค้นหา google อย่างรวดเร็วแสดงทรัพยากรที่แตกต่างกันสองสาม อย่างที่อธิบายในรายละเอียดมากกว่าฉัน
PasswordAuthentication no
เช่นกัน
คำตอบที่ดีที่สุดใช้ไม่ได้สำหรับฉัน ฉันต้องการssh://
จากการเริ่มต้น
# does not work
git remote set-url origin user@example.com:10000/aaa/bbbb/ccc.git
# work
git remote set-url origin ssh://user@example.com:10000/aaa/bbbb/ccc.git
สำหรับผู้ที่คุณกำลังแก้ไข ./.git/config
[remote "external"]
url = ssh://evanc@www.foo.com:11720/aaa/bbb/ccc
fetch = +refs/heads/*:refs/remotes/external/*
แทนที่จะใช้ssh://
คำนำหน้าโพรโทคอลคุณสามารถใช้รูปแบบ URL ทั่วไปสำหรับการเข้าถึง git ผ่าน SSH โดยมีการเปลี่ยนแปลงเพียงเล็กน้อย เพื่อเป็นการเตือนความจำURL ทั่วไปคือ :
git@host:path/to/repo.git
หากต้องการระบุพอร์ตอื่นให้ใส่เครื่องหมายวงเล็บไว้รอบ ๆ ส่วนรวมuser@host
ถึงพอร์ต:
[git@host:port]:path/to/repo.git
แต่ถ้าการเปลี่ยนพอร์ตเป็นเพียงชั่วคราวคุณสามารถบอกให้ git ใช้คำสั่ง SSH อื่นแทนการเปลี่ยน URL ระยะไกลของที่เก็บ:
export SSH_GIT_COMMAND='ssh -p port'
git clone git@host:path/to/repo.git # for instance