2015-06-08 16 views
13

Để nhận được cam kết sau một ngày cụ thể. Tôi có thể làm điều này:nhận cam kết từ một ngày cụ thể trong git dựa trên ngày cam kết

git log <ref> --since=<date> --pretty=format:%ci 

Điều này dường như liệt kê cam kết dựa trên ngày tác giả. Làm cách nào để nhận được cam kết sau một ngày cụ thể dựa trên thời gian cam kết? Tôi có thể phân tích đầu ra của cmd trên để có được những gì tôi mong muốn, tuy nhiên tôi đã tự hỏi nếu có một cách tốt hơn để làm điều này.

+1

bản sao có thể có của [Cách định cấu hình 'git log' để hiển thị 'ngày cam kết'] (http://stackoverflow.com/questions/14243380/how-to-configure-git-log-to-show-commit- date) –

+1

Có, tôi có thể phân tích đầu ra của cmd trong câu hỏi và lọc các cam kết dựa trên ngày cam kết. Có cách nào tốt hơn để làm điều đó không? –

+0

Tìm kiếm mã mà bước đầu tiên của tôi là "bạn không thể", nhưng có vẻ như một cơ hội tuyệt vời để gửi bản vá cho git :) – larsks

Trả lời

5

truy vấn của bạn không phải là rõ ràng với tôi nhưng tôi muốn trả lời với tốt nhất của sự hiểu biết của tôi: như chúng ta biết, với ref: http://git-scm.com/docs/pretty-formats

%ai: author date, ISO 8601-like format 
%ci: committer date, ISO 8601-like format 

Đây có phải là của bất kỳ sự giúp đỡ? Sử dụng - sau- trước để nhận kết quả ở giữa. Như dưới đây sử dụng cùng một ngày với kết quả giữa thời gian (10:36-16:50 của ngày 22 Tháng Sáu năm 2015) với % ci cho ngày committer

git log --after="2015-06-22T10:36:00-07:00" --before="2015-06-22T16:50:00-07:00" --pretty=format:%ci 
2

Tôi tin rằng không có cách nào đây để tinh chỉnh git log đây kể từ khi nó được thực hiện trong nội bộ để sử dụng ngày cam kết cho before, after, since, until tham số. Nói chung, chiến lược mặc định của Git để so sánh ngày là ngày cam kết.

0

Nếu bạn sử dụng% cr thay vì% ci, ít nhất bạn chỉ có tham chiếu thời gian. Nhưng họ là người thân, như '2 giờ trước'.

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