Để đếm các cam kết cho chi nhánh bạn đang trên:
git rev-list --count HEAD
cho một chi nhánh
git rev-list --count <branch-name>
Nếu bạn muốn đếm các cam kết trên một nhánh được tạo từ khi bạn tạo nhánh
git rev-list --count HEAD ^<branch-name>
Điều này sẽ tính tất cả các cam kết từng được thực hiện mà không phải trên tên chi nhánh.
Ví dụ
git checkout master
git checkout -b test
<We do 3 commits>
git rev-list --count HEAD ^master
Kết quả: 3
Nếu chi nhánh của bạn đến một chi nhánh gọi là develop
:
git checkout develop
git checkout -b test
<We do 3 commits>
git rev-list --count HEAD ^develop
Kết quả: 3
Bỏ qua hợp nhất
Nếu bạn hợp nhất một nhánh khác vào nhánh hiện tại mà không chuyển tiếp nhanh và bạn thực hiện như trên, việc hợp nhất cũng được tính. Điều này là do git hợp nhất là một cam kết.
Nếu bạn không muốn đếm những cam kết này, hãy thêm --no-merges
:
git rev-list --no-merges --count HEAD ^develop