Đây là một phần nội dung trong .gitmodulestệp của tôi :
[submodule "src/static_management"]
path = src/static_management
url = git://github.com/eykd/django-static-management.git
[submodule "external/pyfacebook"]
path = external/pyfacebook
url = http://github.com/sciyoshi/pyfacebook.git
Tuy nhiên, .git/configchỉ chứa cái đầu tiên:
[submodule "src/static_management"]
url = git://github.com/eykd/django-static-management.git
Mô-đun con thứ hai ( external/pyfacebook) đã được thêm bởi một nhà phát triển khác trong một nhánh tính năng. Bây giờ tôi đã kế thừa sự phát triển và đã kiểm tra chi nhánh tính năng. Tuy nhiên, Git sẽ không kéo mô-đun con cho tôi. Tôi đã thử:
git submodule initgit submodule updategit submodule update --initgit submodule sync- Xóa tất cả các định nghĩa mô-đun con khỏi
.git/configvà chạygit submodule init. Nó chỉ sao chép trên mô-đun con hiện có trước đó và bỏ qua mô-đun mới. - Nhập các định nghĩa mô-đun con mới
.git/configtheo cách thủ công và chạygit submodule update. Chỉ các mô-đun con hiện có trước đó mới bận tâm cập nhật.
trong các kết hợp khác nhau, nhưng git chỉ đơn giản là sẽ không cập nhật .git/configdựa trên nội dung mới của .gitmodules, cũng như sẽ không tạo external/pyfacebookthư mục và kéo nội dung của mô-đun con.
Tôi đang thiếu gì? Can thiệp thủ công (thêm mục nhập mô-đun con bằng tay vào .git/config) có thực sự cần thiết không, và tại sao?
Chỉnh sửa: Can thiệp thủ công không hoạt động. Việc thêm mục nhập mô-đun con mới theo cách thủ công .git/configsẽ không làm được gì. Mô-đun con mới bị bỏ qua.