Kéo mô-đun con git sau khi nhân bản dự án từ GitHub


90

Tôi có một dự án đã chỉ định các mô-đun con trong đó. Mọi thứ hoạt động tốt trên máy dev. Tôi đã cam kết .gitmodulestập tin và tiếp tục sản xuất. Tuy nhiên nó không kéo các mô-đun con.

Nếu tôi vào thư mục mô-đun con và gọi git pull, không có gì xảy ra.

Cách thích hợp để kéo các mô-đun con đó trong dự án mới là gì?

Câu trả lời:


143

Từ thư mục gốc của repo chỉ cần chạy:

git submodule update --init

8
Tôi tin rằng điều này sẽ thực sự cập nhật các phụ thuộc của bạn. Tôi nghĩ rằng S. Russel có lệnh ngay trong bình luận của ông dưới đây:git pull --recurse-submodules
Spencer

37

Nếu bạn cần kéo nội dung cho các mô-đun con vào kho lưu trữ mô-đun con của bạn, sử dụng

git pull --recurse-submodules

Nhưng điều này sẽ không kiểm tra các cam kết thích hợp (những cam kết mà kho lưu trữ chính của bạn trỏ đến) trong các mô-đun con

Để kiểm tra các cam kết thích hợp trong các mô-đun con của bạn, bạn nên cập nhật chúng sau khi kéo sử dụng

git submodule update --recursive

1
git submodule update --recursivelà những gì tôi cần sau lần nhập đầu tiên git clonenhưng lại quên --recursivetrong lần đầu tiên sử dụng. Cảm ơn!
mbb

8
Điều này dường như không hiệu quả với tôi. Các mô-đun con vẫn trống.
CodeMonkey,

@CodeMonkey giống với tôi.
linkerx

6
có thể là quá muộn để đảng nhưng đối với bất cứ ai đã kết thúc ở đây: git submodule update --init --recursivegiải quyết vấn đề của tôi
Iglesk

21

Nếu có các mô-đun con lồng nhau, bạn sẽ cần sử dụng:

git submodule update --init --recursive
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.