Chỉ để hoàn thiện:
Có một giải pháp khác, tôi muốn giới thiệu: sáp nhập cây con .
Ngược lại với mô đun con, nó dễ bảo trì hơn. Bạn sẽ tạo mỗi kho lưu trữ theo cách thông thường. Khi ở trong kho lưu trữ chính của bạn, bạn muốn hợp nhất chủ (hoặc bất kỳ nhánh nào khác) của kho lưu trữ khác trong một thư mục của thư mục chính của bạn.
$ git remote add -f OtherRepository /path/to/that/repo
$ git merge -s ours --no-commit OtherRepository/master
$ git read-tree --prefix=AnyDirectoryToPutItIn/ -u OtherRepository/master
$ git commit -m "Merge OtherRepository project as our subdirectory"`
Sau đó, để kéo kho lưu trữ khác vào thư mục của bạn (để cập nhật nó), hãy sử dụng chiến lược hợp nhất cây con:
$ git pull -s subtree OtherRepository master
Tôi đang sử dụng phương pháp này trong nhiều năm nay, nó hoạt động :-)
Thông tin thêm về cách này bao gồm so sánh nó với các mô-đun phụ có thể được tìm thấy trong tài liệu git howto doc này .