Thư mục mô đun con Git trống khi repo nhân bản


130

Tôi có một repo được lưu trữ tại https://github.com/aikiframework/json . Trên bản sao cục bộ của tôi, tôi đã thêm một mô hình con bằng cách sử dụng lệnh

git submodule add git@github.com:jcubic/json-rpc.git json-rpc

Sau đó, tôi đã thực hiện một cam kết và đẩy, và những thay đổi xuất hiện trên GitHub (tôi có thể nhấp vào nó). Nhưng khi tôi nhân bản repo

git clone https://github.com/aikiframework/json.git

thư mục mô đun con json-rpc trống.

Tôi đang thiếu gì ở đây? Tôi đã quên một cái gì đó? Tại sao thư mục đó trống?

Câu trả lời:


200

OK tôi tìm thấy nó, cần phải thêm --recursivekhi nhân bản repo.

Vì vậy, lệnh clone kết thúc là:

git clone https://github.com/aikiframework/json.git --recursive

229
Vâng. Bạn cũng có thể tìm nạp các mô hình con sau khi thực tế với git submodule update --init, nếu bạn đã nhân bản nhưng quên --recursive.
Amber

4
Chỉ cần đối mặt với vấn đề là có một mô hình con trên nhánh phát triển, nhưng chưa có trên nhánh chính. Khi bạn sao chép git repo bằng cách sử dụng --recursive, nó sẽ không tìm thấy mô hình con trên nhánh chính và bạn phải tìm nạp nó bằng cách sử dụng nhận xét của Ambers "git subodule update --init" để nhận được phân nhóm.
d4Rk

11
Nếu bạn sử dụng git submodule update --initbạn sẽ phải đi đến từng repo và làm git checkout masternếu không bạn sẽ nhận được lỗi You are not currently on a branch.trên git pullkhi bạn cố gắng để cập nhật nó lên một phiên bản mới hơn.
Noitidart

@Noitidart có cách nào không làm điều đó? (sau khi nhân bản dự án rồi)
borgr

1
@Noitidart Cảm ơn bạn đã update --initgợi ý. Điều đó có ích khi bản sao gốc không có --recursivetrong đó và chỉ đơn giản là muốn kéo các mô đun con bị thiếu.
Jari Turkia
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.