Chúng tôi có một repo Git với 7 nhà phát triển đóng góp với hơn 2,5 năm lịch sử và khoảng 10.000 cam kết. Chúng tôi sử dụng Assembla để đẩy và kéo. Khi chúng tôi thêm các nhà phát triển mới nhân bản repo vào máy tính dev của họ mất gần một giờ.Làm thế nào để co/Cắt một Repo Git
Tôi không chắc đây có phải là thuật ngữ thích hợp hay không, nhưng mục tiêu của chúng tôi là "thu nhỏ" repo bằng cách "cắt/cắt" khỏi giá trị cam kết 1,5 năm đầu tiên và chỉ giữ lại năm mới nhất của lịch sử. Chúng tôi muốn giữ một bản sao lưu "sao lưu" của toàn bộ repo, cho dù là một repo riêng biệt hoặc có thể là một chi nhánh? Chúng tôi muốn lặp lại điều này trong tương lai, có thể hợp nhất phân chia ban đầu với phần tách mới khi cần, nhưng tôi không chắc liệu điều này có khả thi hay không. Nếu có một cách để có tất cả lịch sử trên một chi nhánh riêng biệt và chỉ giữ chi nhánh master
chỉ với lịch sử của năm ngoái, điều đó thật tuyệt vời, nhưng hãy cho tôi biết về những ưu và khuyết điểm có thể có.
Tôi không biết tất cả các khả năng/tùy chọn mà chúng tôi có là lý do tôi ở đây. Tôi đọc một cái gì đó về patches
nhưng tôi không chắc chắn nếu đó thực sự là những gì tôi cần hoặc nếu có cái gì đó tốt hơn/dễ dàng hơn. Các bạn đang làm gì để chăm sóc một vấn đề như thế này, bao gồm ưu và nhược điểm? Hãy nhớ, tôi vẫn cần mọi nhà phát triển tiếp tục đẩy và kéo, tốt nhất là ở lại chi nhánh master
.
Cảm ơn trước!
Làm thế nào lớn là repo của bạn (kích thước đĩa)? Git sẽ có thể xử lý số tiền cam kết này. Bạn cũng có thể tìm tải dư thừa trên máy chủ hoặc các vấn đề về mạng (như so sánh, hạt nhân Linux có dung lượng lớn khoảng 800MB, có 400K cam kết và mất khoảng 1/2 giờ để được nhân bản từ git.kernel.org). – Rudi
Rudi, repo là khoảng 30GB với hơn 10K cam kết (.git/objects/folder là 12GB), không có gì so với hạt nhân Linux. Tuy nhiên, ngoài bất kỳ vấn đề mạng nào có thể xảy ra, tôi không chỉ cố gắng sửa lỗi và tiếp tục, tôi cũng muốn tìm hiểu các phương pháp khác nhau có sẵn liên quan đến vấn đề này. Cảm ơn! – RoLYroLLs
bản sao có thể có của [Git remove history commit] (http://stackoverflow.com/questions/13091928/git-remove-history-commit) – sschuberth