2012-07-06 38 views
77

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ô-đun con bằng cách sử dụng lệnhThư mục submodule rỗng Git khi repo nhân bản

git submodule add [email protected]:jcubic/json-rpc.git json-rpc 

Sau đó, tôi đã thực hiện cam kết và thay đổi xuất hiện trên GitHub (tôi có thể nhấp vào nó). Nhưng khi tôi sao chép bản ghi số

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

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

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

Trả lời

134

OK Tôi đã tìm thấy nó, cần phải thêm --recursive khi nhân bản repo.

Vì vậy, lệnh bản sao kết thúc lên như:

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

Yep. Bạn cũng có thể tìm nạp submodules 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

+3

Chỉ cần đối mặt với vấn đề là có một mô-đun con trên phát triển chi nhánh, 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 submodule trên nhánh master, và bạn phải lấy nó bằng cách sử dụng Ambers comment "git submodule update --init" để có được subomdule. – d4Rk

+1

Nếu bạn sử dụng 'git submodule update --init' bạn sẽ phải vào từng repo và thực hiện' git checkout master' nếu không bạn sẽ gặp lỗi 'Bạn hiện không ở trên branch.' trên' git pull' khi bạn cố gắng cập nhật nó lên phiên bản mới hơn. – Noitidart

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