Một kho lưu trữ git có thể được coi là một tập hợp các bản sửa đổi được sắp xếp một phần (trong đó một bản sửa đổi sớm hơn bản sửa đổi theo thứ tự nếu nó là bản kế thừa trực tiếp hoặc gián tiếp của bản sửa đổi trước đó). Các đơn đặt hàng một phần mà bạn nhận được từ kho git có xu hướng có chiều rộng thấp (kích thước của tập hợp các bản sửa đổi độc lập lẫn nhau lớn nhất) vì chiều rộng có liên quan trực tiếp đến số lượng nhà phát triển hoạt động và số lượng các nhánh khác nhau mà bất kỳ nhà phát triển riêng lẻ nào cũng có thể làm việc trên.
Dựa trên nền tảng này, tôi sẽ đề xuất định lý của Dilworth , trong đó nêu rõ rằng độ rộng của bất kỳ thứ tự từng phần nào bằng với số chuỗi tối thiểu (các tập con hoàn toàn được đặt hàng) cần thiết để bao gồm tất cả các phiên bản. Và để làm cho nó trở thành chủ đề cho bảng này, bạn cũng có thể đề cập đến các thuật toán dựa trên đồ thị phù hợp để tính toán độ rộng và tìm độ che phủ của một số chuỗi tối thiểu trong thời gian đa thức.
Một cách mà điều này có thể phù hợp để sử dụng thực tế trong Git là trong một hệ thống trực quan hóa lịch sử phiên bản của một hệ thống: hầu hết các hệ thống trực quan hóa Git mà tôi đã thấy thời gian trên trục dọc và các phiên bản độc lập của kho lưu trữ theo chiều ngang, vì vậy, điều này sẽ cung cấp cho bạn một cách để tổ chức trực quan hóa thành một số lượng nhỏ các rãnh dọc độc lập.
Ngoài ra, nếu bạn muốn một cái gì đó tham vọng và nâng cao hơn, hãy thử cấu trúc dữ liệu cây đổ lỗi của Demaine và cộng sự , được thúc đẩy trực tiếp bởi giải quyết xung đột trong các hệ thống kiểm soát phiên bản giống như git.