Bạn có thể làm điều này với các mô đun con trong git. Trong kho lưu trữ của bạn, làm:
git submodule add path_to_repo path_where_you_want_it
Vì vậy, nếu kho lưu trữ của thư viện có URL git://github.com/example/some_lib.git
và bạn muốn có nó lib/some_lib
trong dự án của mình, bạn sẽ nhập:
git submodule add git://github.com/example/some_lib.git lib/some_lib
Lưu ý rằng điều này cần phải được thực hiện từ thư mục cấp cao nhất trong kho lưu trữ của bạn. Vì vậy, đừng cd
vào thư mục nơi bạn đặt nó đầu tiên.
Sau khi bạn thêm một mô hình con hoặc bất cứ khi nào ai đó thực hiện kiểm tra mới kho lưu trữ của bạn, bạn sẽ cần phải làm:
git submodule init
git submodule update
Và sau đó, tất cả các mô hình con bạn đã thêm sẽ được kiểm tra tại cùng một phiên bản bạn có.
Khi bạn muốn cập nhật lên phiên bản mới hơn của một trong các thư viện, hãy cd
vào mô hình con và kéo:
cd lib/some_lib
git pull
Sau đó, khi bạn làm một git status
bạn sẽ thấy lib/somelib
được liệt kê trong phần sửa đổi. Thêm tệp đó, cam kết và bạn được cập nhật. Khi cộng tác viên kéo cam kết đó vào kho lưu trữ của họ, họ sẽ thấy lib/somelib
được sửa đổi cho đến khi họ chạy git submodule update
lại.