2009-10-22 41 views
11

Tôi có 2 repos, A và B và tôi muốn làm tổ B bên trong A (thêm nó làm thư mục con). Tôi chỉ đặt B bên trong A, nhưng vấn đề là khi tôi thực hiện bất kỳ sửa đổi nào trên repo B, nó không được thêm hoặc thậm chí được xem xét trong Reop A.Git repos lồng nhau

Tôi nên làm gì để thay đổi hoặc sửa đổi?

Xét rằng repo A là riêng tư và repo B là công khai trên GitHub, điều đó có tạo nên sự khác biệt nào không?

Trả lời

24

Bạn nên triển khai B dưới dạng submodule.

git submodule add git://yourdomain.com/path/to/B path/to/B 

đâu git://yourdomain.com/path/to/B là con đường xa xôi đến B.
path/to/B là thư mục địa phương nơi bạn muốn đặt nó trong A.

Sau đó, mỗi lần bạn sẽ sao chép các repo A, bạn sẽ phải làm một số git submodule update. Và B sẽ được cập nhật.

Capistrano tự động quản lý nếu bạn xác định :git_enable_submodules thành true.