Tôi tra cứu nhật ký git của mình và thấy rằng Ngày tác giả và Ngày cam kết hơi khác nhau đối với một số cam kết của tôi:
commit 3a5912f90dc5227f308e99f95152fbee2301c59a
Author: <hidden>
AuthorDate: Fri Jun 15 10:57:22 2012 +0800
Commit: <hidden>
CommitDate: Fri Jun 15 11:14:37 2012 +0800
Tác giả và Cam kết giống tôi.
Làm thế nào điều này xảy ra? Tôi phân vân nhiều ngày.
Còn nữa (xảy ra ở 17 trong số 341 lần cam kết):
+------------------------------+-------------------------------+
| from_unixtime(authored_date) | from_unixtime(committed_date) |
+------------------------------+-------------------------------+
| 2012-06-15 10:57:22 | 2012-06-15 11:14:37 |
| 2012-06-15 14:39:54 | 2012-06-15 14:48:57 |
| 2012-06-19 12:28:21 | 2012-06-19 12:29:41 |
| 2012-06-21 18:16:25 | 2012-06-21 18:28:48 |
| 2012-06-26 17:30:54 | 2012-06-26 17:33:55 |
| 2012-07-13 11:41:43 | 2012-07-13 11:42:17 |
| 2012-07-13 11:56:02 | 2012-07-13 12:13:22 |
| 2012-07-13 12:05:09 | 2012-07-13 12:12:24 |
| 2012-07-12 18:38:49 | 2012-07-13 12:26:35 |
| 2012-07-13 11:00:47 | 2012-07-13 12:25:15 |
| 2012-07-16 14:10:54 | 2012-07-16 14:15:01 |
| 2012-07-13 12:56:51 | 2012-07-16 13:49:48 |
| 2012-07-16 14:10:54 | 2012-07-16 14:19:46 |
| 2012-07-24 16:05:05 | 2012-07-24 16:05:48 |
| 2012-07-24 17:42:58 | 2012-07-24 17:43:33 |
| 2012-07-24 17:42:58 | 2012-07-24 17:45:18 |
| 2012-07-26 16:55:40 | 2012-07-26 16:55:53 |
+------------------------------+-------------------------------+
git log
theo mặc định chỉ hiển thị ngày cam kết của Tác giả. Nhưng nếu bạn sử dụng --since
, --until
, --before
, --after
, ngày tương đối, sử dụng git các committer ngày cam kết thay! git log --since="yesterday"
có thể không hiển thị các kết quả mong đợi nếu Author cam kết ngày khác với committer ngày cam kết.
git --squash merge
là một chiến lược hợp nhất hơi phổ biến có thể được định cấu hình (mặc dù có vẻ như nó không được sử dụng ở đây, nhưng nó được đưa ra vì lợi ích của ví dụ). Ngoài ra, nếu git đang được sử dụng thông qua IDE hoặc git GUI, có khả năng cấu hình / chức năng không có trong CLI. Có thể đáng để kiểm tra kỹ xem hợp nhất của bạn được định cấu hình để làm gì trong môi trường bạn thực hiện hợp nhất.