Tôi đã sử dụng phần mở rộng git subtree (https://github.com/apenwarr/git-subtree). tôi sử dụng "--squash" để làm cho các bản ghi của dự án chính trong sạch, các bước của tôi như thế này:git-subtree push --quá trình cần một thời gian dài, và nó nhận được lâu hơn theo thời gian với nhiều cam kết
thêm lib vào dự án chính
git subtree thêm phụ -P/libdir --squash lib_remote nắm vững
get update từ lib
git subtree kéo -P sub/libdir --squash lib_remote chủ
thay đổi push to lib_remote
git push subtree -P sub/libdir --squash lib_remote chủ
Nó hoạt động rất tốt đối với tôi (cả hai dự án chính và lib, có một lịch sử có ý nghĩa tốt). Vấn đề là thời điểm git subtree push, trở nên lâu hơn và lâu hơn.
Mục đích của tôi sử dụng git-cây con là gần như giống với Screndib, người yêu cầu git-subtree is not retaining history so I cannot push subtree changes, how can I fix this/avoid this issue in the future?
Tôi đoán, khi sử dụng --squash, mỗi thời gian để xử lý một sự thúc đẩy, git cây con cần để tìm kiếm trên toàn bộ lịch sử kể từ khi "thêm subtree".
Làm cách nào tôi có thể giảm thời gian đẩy subtree? Hoặc làm cho nó hoạt động hiệu quả hơn, chứ không phải toàn bộ lịch sử, chỉ xử lý các thay đổi kể từ lần cuối git subtree push (hoặc pull)?
Lưu ý: như [được đề cập ở đây] (http://stackoverflow.com/a/30441980/6309) (Git 2.5+, Q2 2015), '--squash' không có sẵn cho 'git subtree push' – VonC