Tệp .git của tôi đã tăng lên 229Mb và tôi tự hỏi cách tốt nhất để cắt giảm kích thước là gì. Tôi biết về git gc và đã sử dụng nó một số tiền hợp lý. Tôi không hoàn toàn chắc chắn về cách git hoạt động, nhưng tôi biết rằng có thông tin đóng gói trong đó mà tôi không còn cần. Giống như, tôi biết tôi không còn cần năm chi nhánh đầu tiên được cứu. Có cách nào để xóa hoàn toàn các nhánh hoặc cam kết thực sự cũ hay thứ gì đó như thế không?Quản lý kích thước tệp .git
Trả lời
Nếu bạn muốn giữ của bạn (có thể truy cập) cam kết lịch sử còn nguyên vẹn, sau đó hết hạn, đóng gói lại, mận, và rác thu thập:
git reflog expire --expire=0 --all
git repack -ad
git prune
git gc
này cần được kích thước tối thiểu bạn có thể nhận repo của bạn và tiếp tục lịch sử cam kết của bạn.
Nếu không, nghĩa là, bạn muốn hoặc không nhớ bắt đầu lại với trạng thái hiện tại của repo như cam kết ban đầu, sau đó phương pháp tiếp cận của Peter Tillemans sẽ làm điều đó.
Các dễ nhất là nên làm một
git clone --depth 1 your_old_repo
trên một vị trí mới và sau đó trao đổi nó trở lại tại chỗ.
cũng thấy git faq
Rất tiếc, bản sao nông nghiệp có chức năng giới hạn. –
Bạn có một số kỹ thuật trong "Reduce git repository size", nhưng tôi cũng đề cập đến trong số đó hơn git gc
alone can increase the size of the repo!
Vì vậy, một số chi nhánh bộ lọc (cũng được tham chiếu trong that question) có thể cần thiết, nếu không ai chủ động kéo từ repo của bạn.
Một yếu tố có xu hướng tăng nhanh chóng kích thước của repo Git là phiên bản của quá nhiều tệp nhị phân. Đây là một trong Git limits, vì vậy hãy thử để:
- phiên bản đối tượng lớn như vậy trong repo Git riêng của họ, tham chiếu như submodules
- hoặc phiên bản chúng trong một kho lưu trữ bên ngoài thực hiện việc giao, giống như một kho Maven (ie " không có trong repo Git ")
- 1. gitignore theo kích thước tệp?
- 2. Quản lý móc Git
- 3. Kích thước tệp tối đa và kích thước kho lưu trữ tối đa trong Git?
- 4. Làm cách nào để quản lý kích thước tệp nhật ký WCF theo chương trình?
- 5. quản lý phát hành git
- 6. Giới hạn kích thước tệp trong kho git
- 7. Giảm kích thước kho git
- 8. C# lý do thay đổi kích thước hình ảnh sẽ tăng kích thước tệp
- 9. Tìm kích thước của git repo
- 10. Nút lý tưởng Kích thước
- 11. Làm cách nào tôi có thể quản lý kích thước nhật ký máy chủ SQL
- 12. Quản lý nhiều kho lưu trữ git
- 13. Quản lý nhánh phát hành trong Git
- 14. Quản lý trang web Joomla bằng Git?
- 15. Kích thước lý tưởng cho .ico
- 16. Kích thước khối Hadoop và vấn đề kích thước tệp?
- 17. Kích thước tệp DLL trong bộ nhớ và kích thước trên đĩa cứng
- 18. Giảm kích thước tệp pdf
- 19. Giảm kích thước tệp SWF
- 20. Cách lấy kích thước tệp
- 21. Kích thước tệp vỏ linux
- 22. PyTables xử lý dữ liệu với kích thước lớn hơn nhiều lần kích thước bộ nhớ
- 23. Kích thước phiên PHP lý tưởng?
- 24. Kích thước hợp lý tối đa cho stemCompletion trong tm?
- 25. Hiển thị kích thước tệp: 1000b = 1kb hoặc 1024b = 1kb?
- 26. Kích thước tệp tối đa của hình ảnh JPEG có kích thước đã biết
- 27. Xác định kích thước tệp hình ảnh + kích thước qua Javascript?
- 28. Git: Quản lý từng phiên bản ứng dụng của tôi?
- 29. Android - Giảm kích thước tệp hình ảnh
- 30. Delphi và iOS Kích thước tệp
Điều này giống như một cách tiếp cận tốt, cảm ơn! – DavidP6
'git gc' tự động chạy' git prune', như đã đề cập trong trang tài liệu này, ví dụ: https://www.kernel.org/pub/software/scm/git/docs/git-prune.html – kontur