1.介紹
定義介紹
提交時間(Committer Date):決定了提交在 Git 歷史中的位置,通常影響 GitHub 上提交顯示的順序。
作者時間(Author Date):雖然不影響提交的排序,但在每個提交詳情頁面上可以看到這個時間,它代表的是原始提交的時間。
使用場景
本地或者遠程服務器是根據提交時間進行排序顯示提交記錄的先后順序,這也是符合我們常識的;而作者時間不參與排序,只作為顯示列。因此我們本地看到的時間并不是提交時間,而是作者時間。這個后面驗證。
發生時機
當我們正常執行git commit時,提交時間和作者時間時一致的
當我們執行git commit --ammend時,當前的提交記錄會覆蓋上次本地未push的提交記錄,此時提交時間和作者時間就不一致了
2.查看提交記錄的提交時間和作者時間
提交記錄時間線如圖
這里的test提交記錄是本地已提交但未push的記錄,我們以此記錄進行測試和驗證,該記錄的commitID為581118dd
查看時間命令
git show 581118dd --format=fuller
可以看到提交時間和作者時間是一致的,現在我們使用git commit --ammend重新提交一次記錄,記錄備注信息為 test2.
此時commitId也發生了變化。
查看帶–ammend重新提交后的提交時間和作者時間,執行命令
git show 2c8c9163 --format=fuller
當前2c8c9163相比581118dd只改變了提交時間,但并修改作者時間。
修改當前2c8c9163記錄的作者時間,因為次提交記錄的時間是2025/02/07,我們修改為2025/02/06
執行命令
git commit --amend --no-edit --date "2025-02-06 00:00:00"
查看作者時間是否改變:
git show 770fc30c--format=fuller
可見,改變的確實作者時間,我們看一下本地開發工具顯示效果。
提交記錄確實被修改為了770fc30c,時間被修改為了 2025/02/06,但是提交記錄并未按照顯示的時間進行排序,因此我們驗證
1.提交記錄并未按照作者時間進行排序,而是根據提交時間排序
2.本地開發工具顯示的時間并不是提交時間,而是作者時間。