2012-12-27 27 views
13

Sử dụng git-subtree, số lượng chênh lệch cần tính khi chạy git subtree split tăng theo thời gian, đạt giá trị có thể chia nhỏ quá lâu.Đặt lại số lượng chênh lệch trong git subtree

Một cách để khắc phục điều đó là git rm đường dẫn, cam kết và sau đó git subtree add trở lại.

Có cách nào đơn giản hơn/sạch hơn để đặt lại cây con không?

+0

tôi nghi ngờ lúc đó câu trả lời đúng sẽ có submodules sử dụng tất cả cùng. – jthill

+1

Hmmm no. Tôi vẫn muốn sử dụng subtree :-) –

Trả lời

1

Khi thực hiện chia tách, tùy chọn --rejoin có thể được sử dụng, dường như tồn tại chính xác để sử dụng lại các phần tách đã xảy ra.

--rejoin ::

Tùy chọn này chỉ có giá trị cho lệnh chia.

Sau khi tách, hãy hợp nhất lịch sử tổng hợp mới được tạo lại vào dự án chính của bạn. Bằng cách đó, các phần tách trong tương lai chỉ có thể tìm kiếm một phần lịch sử đã được thêm kể từ lần truy cập gần đây nhất.

Từ https://github.com/apenwarr/git-subtree/blob/master/git-subtree.txt

+0

Điều đó thật thú vị. Tôi muốn điều này có thể được thực hiện khi kéo/hợp nhất hơn là tách, vì sự chia rẽ cho chúng ta là khá nhiều hoạt động chỉ đọc. –

+0

Nhưng tính năng đặt lại số này không có ý nghĩa gì khi kéo và hợp nhất, vì bạn đang mang nội dung thay vì tách nó khỏi kho lưu trữ của riêng bạn. Nếu bạn muốn sử dụng lại các cam kết subtree mà trước đây đã thêm với một pull/merge, điều đó đã xảy ra luôn luôn: miễn là bạn giữ nhất quán về việc sử dụng hay không '--squash' khi đưa nội dung subtree mới bất kỳ cam kết trước đó đã có sẽ được được sử dụng và liên kết tự động. – LopSae