2012-07-10 28 views
10

Tôi đang ngồi trên proxy chỉ cho phép lưu lượng http/https, tôi có thể sao chép kho lưu trữ từ Github, nhưng tôi phải tìm nạp/đẩy bằng URL https và tên người dùng/mật khẩu.Git Submodule cập nhật qua https

Bây giờ vấn đề của tôi là một kho lưu trữ với mô-đun con, khi tôi thực hiện git submodule update nó hết lần, và tôi chỉ có thể giả định điều này là vì nó đang sử dụng kết nối SSH bị chặn. (thậm chí nó không yêu cầu tôi cung cấp mật khẩu trên repos riêng)

+0

Câu hỏi này cũng đề cập đến vấn đề này với một Permission denied (PublicKey) 'lỗi'. – BlackVegetable

Trả lời

19

Trong tệp .gitmodules của bạn trong thư mục gốc của repo và trong tệp .git/config, bạn sẽ tìm thấy một phần cho mô-đun con của bạn. Bạn có thể chỉnh sửa url ở đó để nó được truy cập qua https request thay vì ssh.

Tất nhiên nó có thể đã là một url ssh, trong trường hợp đó vấn đề có thể là một cái gì đó khác, nhưng đây là nơi đầu tiên để kiểm tra.

+0

Điều này rất hữu ích nhưng vấn đề của tôi hơi phức tạp hơn một chút trong đó tôi đã subrepos bên trong subrepos. Đây là cách tôi đã chỉnh sửa tất cả các tệp chính xác trong Linux: sed -i -e 's/git: \/\ // http: \/\ // g' .gitmodules; tìm. -tên cấu hình kiểu f -exec sed -i -e 's/git: \/\ // http: \/\ // g' {} \; – Tristan

+1

Chạy '' git submodule sync'' sau khi chỉnh sửa '' .gitmodules'', như câu trả lời của François Koessler gợi ý, là một bước cần thiết để làm việc này! –

16

Chỉnh sửa tập tin của bạn .gitmodule với url https, ví dụ:

[submodule "vendor/engines/fat_free_crm"] 
    path = vendor/engines/fat_free_crm 
    url = https://github.com/fatfreecrm/fat_free_crm.git 

Sau đó chạy git submodule sync để phản ánh sự thay đổi đến file .git/config của bạn.

Điểm Uy Tín: https://stackoverflow.com/a/6632693/1273077

+1

cảm ơn vì đã đề cập đến đồng bộ hóa 'git submodule' – MohamedEzz

Các vấn đề liên quan