Git clone / pull trên mạng cục bộ [đã đóng]


17

Tôi đang cố gắng sao chép / kéo một kho lưu trữ trong một PC khác bằng Ubuntu Quantal. Tôi đã làm điều này trên Windows trước đây nhưng tôi không biết vấn đề gì trên Ubuntu. Tôi đã thử những điều này:

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

Luôn luôn tôi có:

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

hoặc là

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

Hơn:

  • PC khác có tên người dùng và mật khẩu
  • Không phải là vấn đề mạng, tôi có thể truy cập và ping nó.
  • Tôi chỉ cài đặt git doing apt-get install git(cài đặt phụ thuộc)
  • Tôi đang chạy git từ thiết bị đầu cuối (Tôi không sử dụng git-shell)

Điều gì gây ra điều này và làm thế nào để khắc phục điều này? Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời!

CẬP NHẬT

Tôi đã nhân bản repo trên Windows bằng cách sử dụng git clone //192.168.100.18/repo/intranet.gitmà không gặp vấn đề gì. Vì vậy, repo có thể truy cập và tồn tại! Có lẽ vấn đề là do thông tin người dùng?


Tôi không thực sự chắc chắn nếu câu hỏi này thuộc về nơi này, nhưng tôi đã thấy những câu hỏi tương tự trên SF
Tomás Ramírez

Câu trả lời:


26

Nó phụ thuộc vào cách máy chủ của bạn được cấu hình để phục vụ nội dung.

Nếu qua ssh:

git clone user@192.168.100.18:repo/repository.git

hoặc nếu một máy chủ web đang cung cấp nội dung (http hoặc https)

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

hoặc nếu có sẵn thông qua đường dẫn tệp:

git clone file://path/to/repo

hoặc nếu máy chủ đang chạy git daemon:

git clone git://192.168.100.18/repo

3
Trên Windows, tôi đang nhân bản bằng cách sử dụng git clone //192.168.100.18/repo/repository.git, nhưng trước đây tôi đã đăng nhập vào phần gia công 192.168.100.18, vậy đây là file://cách nào?
Tomás Ramírez

1
Câu trả lời hữu ích, cảm ơn! Để sao chép một repo nằm trong thư mục dùng chung của Windows mà tôi đã sử dụnggit clone file://\\\PC1\path-to-repo-dir
Ivan Ferrer Villa

@IvanFerrerVilla gần như, đường dẫn thực tế là:file:///\\PC1\path-to-repo-dir
Mikl X

@MiklX và bạn sẽ bao gồm tên người dùng và mật khẩu như thế nào?
m4l490n

12

Hướng dẫn cho git-clonebiết:

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

Lưu ý rằng SMB không có trong danh sách.

Khi chạy gittrên Windows, //host/pathcú pháp hoạt động vì HĐH hỗ trợ nó nguyên bản - các đường dẫn từ xa SMB có thể được sử dụng ở bất cứ đâu có thể sử dụng đường dẫn cục bộ. Đó không phải là trường hợp trong unix, trong đó SMB là một thứ xa lạ và //tương đương với /thuật toán phân giải tên đường dẫn.

gắn kết hệ thống tập tin từ xa, sau đó bạn sẽ có khả năng tham chiếu nó với một tên đường dẫn kiểu unix mà git(và mọi công cụ khác trên hệ thống) đều hiểu.

Để biết thông tin về cách cài đặt smbfs: https://askubfox.com/questions/137011/how-to-mount-a-samba- Shared-folder-ub Ubuntu-x-Ubuntu


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.