Git clone / ดึงข้ามเครือข่ายท้องถิ่น [ปิด]


17

ฉันพยายามโคลน / ดึงที่เก็บในพีซีเครื่องอื่นโดยใช้ Ubuntu Quantal ฉันเคยทำสิ่งนี้บน Windows มาก่อน แต่ไม่ทราบว่ามีปัญหาอะไรใน Ubuntu ฉันลองสิ่งเหล่านี้:

git clone file:////pc-name/repo/repository.git
git clone file:////192.168.100.18/repo/repository.git
git clone file:////user:pass@pc-name/repo/repository.git
git clone smb://c-pc/repo/repository.git
git clone //192.168.100.18/repo/repository.git

ฉันได้รับเสมอ:

Cloning into 'intranet'...
fatal: '//c-pc/repo/repository.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

หรือ

fatal: repository '//192.168.100.18/repo/repository.git' does not exist

มากกว่า:

  • พีซีเครื่องอื่นมีชื่อผู้ใช้และรหัสผ่าน
  • ไม่ใช่ปัญหาเครือข่ายฉันสามารถเข้าถึงและ ping ได้
  • ฉันเพิ่งติดตั้งคอมไพล์ทำapt-get install git(ติดตั้งอ้างอิง)
  • ฉันใช้ git จาก terminal (ฉันไม่ได้ใช้ git-shell)

อะไรเป็นสาเหตุของปัญหานี้และวิธีแก้ไขปัญหานี้? ความช่วยเหลือใด ๆ จะดีมาก!

UPDATE

ฉันโคลน repo บน Windows โดยใช้git clone //192.168.100.18/repo/intranet.gitไม่มีปัญหา ดังนั้น repo สามารถเข้าถึงได้และมีอยู่! อาจเป็นปัญหาที่เกิดจากข้อมูลประจำตัวของผู้ใช้?


ฉันไม่แน่ใจจริงๆถ้าคำถามนี้เป็นของที่นี่ แต่ฉันได้เห็นคำถามที่คล้ายกันใน SF
TomásRamírez

คำตอบ:


26

ขึ้นอยู่กับว่าคุณกำหนดค่าเซิร์ฟเวอร์ของคุณเพื่อให้บริการเนื้อหาอย่างไร

ถ้าเกิน ssh:

git clone user@192.168.100.18:repo/repository.git

หรือถ้าเว็บเซิร์ฟเวอร์ให้เนื้อหา (http หรือ https)

https://user@192.168.100.18/repo/repository.git

หรือถ้ามีให้ผ่านทางไฟล์:

git clone file://path/to/repo

หรือถ้าเซิร์ฟเวอร์กำลังรัน git daemon:

git clone git://192.168.100.18/repo

3
บน Windows ฉันกำลังใช้งานโคลนgit clone //192.168.100.18/repo/repository.gitแต่ฉันเข้าสู่ระบบก่อนหน้านี้ใน192.168.100.18maching ดังนั้นนี่คือfile://วิธีหรือไม่
TomásRamírez

1
คำตอบที่มีประโยชน์ขอบคุณ! ในการโคลน repo ที่อยู่ในโฟลเดอร์แชร์ของ Windows ที่ฉันใช้git clone file://\\\PC1\path-to-repo-dir
Ivan Ferrer Villa

@IvanFerrerVilla เกือบเส้นทางที่แท้จริงคือ:file:///\\PC1\path-to-repo-dir
Mikl X

@MiklX และคุณจะรวมชื่อผู้ใช้และรหัสผ่านอย่างไร
m4l490n

13

คู่มือสำหรับgit-cloneพูดว่า:

Git natively supports ssh, git, http, https, ftp, ftps, and rsync protocols

โปรดทราบว่า SMB ไม่ได้อยู่ในรายการ

เมื่อรันgitบน Windows //host/pathไวยากรณ์จะทำงานได้เนื่องจากระบบปฏิบัติการรองรับอย่างเป็นธรรมชาติ - SMB สามารถใช้เส้นทางระยะไกลได้ทุกที่ที่เส้นทางท้องถิ่นสามารถใช้งานได้ นี่ไม่ใช่กรณีในยูนิกซ์ที่ SMB เป็นสิ่งแปลกปลอมและ//เทียบเท่ากับ/ในอัลกอริธึมการแก้ไขชื่อพา ธ

เมานต์ระบบไฟล์ระยะไกลจากนั้นคุณจะสามารถอ้างถึงได้ด้วยชื่อพา ธ แบบยูนิกซ์ที่เข้าใจgit(และเครื่องมืออื่น ๆ ทุกอย่างในระบบ)

สำหรับข้อมูลเกี่ยวกับการติดตั้ง smbfs: /ubuntu/137011/how-to-mount-a-samba-shared-folder-ubuntu-x-ubuntu


3

ปัญหานี้ดูเหมือนคล้ายกับ/programming/5200181/how-to-git-clone-a-repo-in-windows-from-other-pc-within-the-lan บางทีการแชร์การดูแลระบบช่วยบรรเทาปัญหา (เช่น // pc-name / c $ / path / to / repo)


ไม่เป็นกรณีเดียวกัน แต่ไม่ใช่ปัญหาเดียวกันฉันอ่านเธรดก่อน: / และไดเรกทอรี repo แชร์อย่างถูกต้อง
TomásRamírez
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.