2010-05-20 43 views
22

Tôi có một kho lưu trữ lớn trong một thư mục dùng chung. Tôi sử dụng git từ bên trong một máy ảo trên thư mục đó. Mọi thứ đều hoạt động tốt, nhưng kho lưu trữ lớn là và tìm kiếm của git qua tất cả các thư mục và tệp khi cam kết chậm. Tôi không thể di chuyển kho lưu trữ này ra khỏi thư mục được chia sẻ.git tôi có thể tăng tốc độ cam kết không?

Tôi đã cố gắng để git add các tệp và thư mục cụ thể, nhưng khi tôi làm git commit -m "something" nó vẫn đi tắt vào đó là cuộc phiêu lưu qua cây thư mục.

Tôi có thể thực hiện các cam kết bỏ qua phần còn lại của cây không?

Trả lời

35

Bạn có thể thử cho phép tùy chọn preloadindex, được mô tả trong git-config man page:

core.preloadindex

Enable song song tải trước chỉ số cho các hoạt động như git diff

này có thể tăng tốc độ hoạt động như trạng thái git diff và git, đặc biệt là trên các hệ thống tập tin như NFS có các ngữ nghĩa bộ nhớ đệm yếu và do đó độ trễ IO tương đối cao. Với thiết lập này thành true, git sẽ thực hiện so sánh chỉ mục với dữ liệu hệ thống tập tin song song, cho phép chồng chéo IO.

Để tắt chức năng này vào sử dụng:

git config core.preloadindex true 
+0

Tùy chọn thú vị. +1 – VonC

+0

Tuyệt! Tôi chắc chắn sẽ thử điều này! – AndreasT

+0

Điều này đã thay đổi ~ 15 giây 'git st' xuống ~ 4s trong Windows và <1 giây trong Linux ... Điều này thật tuyệt vời. Cảm ơn bạn. – blockloop

6

Để thay thế quy trình làm việc tự nhiên, bạn có thể làm việc trên bản sao nằm trong thư mục riêng tư với máy ảo. Sau đó, bạn đẩy đến kho lưu trữ trên thư mục được chia sẻ (có thể có thể là kho lưu trữ trống) chỉ khi bạn muốn xuất bản tác phẩm của mình lên môi trường bên ngoài.

0
git commit <specific-files-and-directories> 

có thể? Nhưng tôi không thích ý tưởng chia sẻ kho lưu trữ trên hệ thống tập tin. Git là công cụ để chia sẻ kho lưu trữ nội dung rồi.

+1

Kể mã hóa một ứng dụng đa nền tảng với, nói, Eclipse CDT dưới Linux và sửa lỗi nó với visual studio dưới win7 với một công tắc của một cửa sổ và nhấn một phím? Tin tôi đi, làm việc qua các rào cản hệ thống như thế đã cho tôi một vũ trụ về những khả năng mới và tôi không sẵn sàng từ bỏ điều đó. – AndreasT

Các vấn đề liên quan