Git clone chỉ hoạt động với ssh: // git @ .. và không hoạt động với git @


11

Bất cứ ý tưởng tại sao một repo GIT chỉ hoạt động khi sử dụng ssh://git@server.com/repo.gitvà không khi sử dụng git@server.com/repo.git?

Đó là thiết lập máy chủ bởi người khác nên không biết nó được thiết lập như thế nào nhưng trên BitBucket hoặc GitHub tôi chỉ có thể sử dụng git@server.com/repo.gitvà nó hoạt động và sao chép repo bằng giao thức SSH. Bất cứ ý tưởng tại sao cho máy chủ này iy chỉ hoạt động khi sử dụng ssh://git@server.com/repo.git?

Vì vậy, tôi cần phải thêm ssh://ở phía trước.


Máy chủ có sử dụng cổng SSH thay thế không? Thíchssh://git@server.com:2222/
7ochem

Không. Đó là 22. Khi ssh://git@server.com/repo.githoạt động trong khi git@server.com/repo.gitkhông. Tôi không thêm vào :porttrong mọi trường hợp. Khi tôi cố gắng mà không ssh://nhận được fatal: repository 'git@server.com/something/repo.git' does not exist. Với ssh://git@server.com/something/repo.gitnó hoạt động.
daniels

Một vấn đề cấu hình nào đó (có thể là vấn đề tường lửa? Tên người dùng?) - Tôi gặp vấn đề tương tự với thiết lập tại tổ chức của mình. Tuy nhiên, truy cập qua https hoạt động - vì vậy giải pháp là sử dụng các quy tắc viết lại từ chuỗi này: stackoverflow.com/questions/15589682/
Kẻ

Câu trả lời:


32

Bạn đang sử dụng cú pháp không chính xác.

Khi bạn xóa scheme://tiền tố, git không còn diễn giải địa chỉ của bạn theo kiểu URL nữa mà thay vào đó là kiểu RCp / scp. Nhưng đối với các địa chỉ kiểu RCp / scp, đường dẫn phải được tách biệt khỏi user @ host bằng dấu hai chấm: (chỉ định một cổng không được hỗ trợ). Ví dụ:

git clone daniels@server.com:repo.git

git clone git@bitbucket.com:daniels/example.git

Không có dấu hai chấm, git sẽ chỉ diễn giải địa chỉ là đường dẫn cục bộ.

(Bạn có thể xem thêm chi tiết trong trang hướng dẫn git clone hoặc git fetch .)


Hah, bí ẩn đã được giải quyết. Bạn đúng rồi. Cảm ơn bạn.
daniels

Tôi đã sử dụng máy chủ BitBucket (Stash trước đây, máy chủ bạn cài đặt trên máy chủ của bạn, không phải phiên bản đám mây) và chỉ cần sao chép và dán lệnh GIT từ đó. Vì một số lý do, họ không thêm những người mất tích :.
daniels
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.