Tôi đang sử dụng EGit trên một tập hợp khá lớn và phức tạp các dự án Java (hơn một triệu dòng mã) và một giá trị thập kỷ của lịch sử.
Ở đây tôi đang đối mặt với các vấn đề nghiêm trọng về hiệu suất với EGit, vì ngay cả một thay đổi nhỏ trong dòng Java cũng khiến EGit phải lập lại chỉ mục trong vài phút làm chậm toàn bộ hệ thống. Thật vậy, ngay cả dòng lệnh git hơi chậm khi "trạng thái git" mất khoảng một phút từ dòng lệnh, nhưng tôi có thể sống với vấn đề hiệu suất này, & Vấn đề về tốc độ hộp thoại cam kết của EGit (link). Như tôi có thể sử dụng dòng lệnh git để commit, và update, nhưng tôi không muốn tradeoff hiệu năng Eclipse của tôi vì điều đó ảnh hưởng đến năng suất.Gợi ý về tối ưu hóa EGit trên Eclipse
Sau đây là những gì tôi đã cố gắng bằng cách làm Googling và yêu cầu mọi người xung quanh:
- Added thư mục tất cả các lớp trong file loại trừ. Thật vậy, cố gắng đưa các lớp học vào thư mục .gitignore cũng như thời gian.
- Gave Egit đủ thời gian để hoàn thành việc lập chỉ mục bằng cách giữ máy BẬT trong một ngày.
- Phân đoạn Git, lịch sử và tất cả các chế độ xem Eclipses khác được đóng trong bàn làm việc của Eclipse trong khi phát triển.
- Đã "git gc" - Nó tạo sự khác biệt về hiệu suất của dòng lệnh, nhưng hầu như không có bất kỳ sự khác biệt nào đối với EGit.
- Nhãn trang trí không được chọn cho Git. Tùy chọn -> Chung -> Giao diện -> Trang trí nhãn.
- Đã xóa cygwin khỏi đường dẫn, như đã đọc ở đâu đó trong diễn đàn mà JGit có thể đang sử dụng Cygwin để chuyển đổi đường dẫn.
- Tăng bộ nhớ cache cửa sổ từ 10 đến 70m trong Eclipse (Tùy chọn -> Nhóm -> Git -> bộ đệm cửa sổ).
PS: Kho lưu trữ Git trỏ đến kho lưu trữ từ xa svn. Ngoài ra, tôi là git newbie vì vậy có thể đã làm một số sai lầm trong thiết lập, vì vậy xin vui lòng chỉ ra bất cứ điều gì.
Đây là thông tin hệ thống của tôi, tôi không có nhiều thông số kỹ thuật phần cứng ưa thích, nhưng một số RAM để rảnh (8GB).
- phiên bản git-gui 0.16 GITGUID
- git phiên bản: 1.7.10.mysysgit.1
- JDK 1.6_025
- Eclipse phiên bản: 3.7.2 Java EE phiên bản với các thông số -Xms1536m -Xmx1536m
- EGit: 1.3.0.201202151440
- Windows 7 Processor: Core 2 Duo 2.6GHz
VonC - Đồng ý, nhưng có một số vấn đề với việc thực hiện Egit chắc chắn, như cùng một git repo lớn thực hiện khá tốt trên hộp Linux với IntelliJ), mặc dù tôi đồng ý hệ thống tệp Linux nhanh hơn nhiều. Vì vậy, tôi có thể tạo một repo Git trung tâm là bản sao của SVN, và sau đó có nhiều repo Git nhỏ từ repo trung tâm khổng lồ? – Hemant
@Hemant no, bạn không thể (không có khả năng cam kết trở lại repo SVN). Bạn có thể định nghĩa một repo Git khai báo tất cả các gói nhỏ như submodules, nhưng sẽ không có bất kỳ liên kết nào với repo SVN. Đó là một cơ chế đồng bộ hóa thủ công. – VonC
Vonc - Cảm ơn bạn đã làm rõ. Tôi sẽ tiếp tục khám phá các tùy chọn của tôi ... tôi cũng hy vọng nhóm Egit sẽ thực hiện một số điều chỉnh hiệu suất nhanh hơn. – Hemant