什么是作者日期和提交者日期
對于 Git 的每一次提交,在 TortoiseGit 和 IntelliJ IDEA 都可以看到這次提交的時間。但很多人不知道的是,Git 實際上對每一個提交的時間分為兩個:作者日期和提交者日期。
-
作者日期(author date):這指的是最開始提交時,所產(chǎn)生的提交文件上的日期
-
提交者日期(committer date):這指的是對這個提交最后一次操作的日期
這有點類似于操作系統(tǒng)中文件的創(chuàng)建時間與修改時間。
當(dāng)使用 Git 進(jìn)行一次提交時,這次提交的時間就會變成 作者日期
。如果以后因為某種原因?qū)@次提交進(jìn)行了一些修改、壓縮等操作,則對這個提交最后一次操作的日期就會變成 提交者日期
。
所以一般情況下,提交者日期
不會早于 作者日期
。
如何查看作者日期和提交者日期
方法 1
如果想同時顯示一個 Git 命令的 作者日期
和 提交者日期
,可以使用如下 Git 命令:
git log --format=fuller
更多的信息,可見官方文檔:https://git-scm.com/docs/git-log
方法 2
-
查看作者日期:
git log --pretty=format:"%ad" -n 1 某個提交的哈希值
-
查看提交者日期:
git log --pretty=format:"%cd" -n 1 某個提交的哈希值
方法 3
-
查看作者日期:
git show -s --format="%ad" 某個提交的哈希值
-
查看提交者日期:
git show -s --format="%cd" 某個提交的哈希值
更多的信息,可見官方文檔:https://git-scm.com/docs/git-show
修改最近一次提交的時間
如果想要修改最近一次提交的作者日期,可以使用如下命令。
git commit --amend --no-edit --date " Apr 29 22:40:00 2023 +0800"
比如,如果想把時間改為 2023 年 4 月 29 日星期六 22:40:00
,可以使用如下代碼。
git commit --amend --no-edit --date "Fri Apr 29 22:40:00 2023 +0800"
其中,星期是可選的,不喜歡可以不輸。文章來源:http://www.zghlxwxcb.cn/news/detail-745086.html
下面給出了一個可以自動生成當(dāng)前時間的 Git 修改命令的 Java 代碼。文章來源地址http://www.zghlxwxcb.cn/news/detail-745086.html
/**
* Windows 下 Git 命令生成器
*
* @since 2023-4-29
*/
public class GitCommandGenerator {
/**
* 生成如下的命令:將本分支最近一次的 commit 的時間修改為當(dāng)前的時間
*
* @since 2023-4-29
*/
public static String amendLastCommitToCurrentTime() {
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy Z", Locale.ENGLISH);
String formattedDate = dateFormat.format(new Date());
return "git commit --amend --no-edit --date \"" + formattedDate + "\"";
}
}
到了這里,關(guān)于對于 Git 每一次提交的時間信息,什么是作者日期和提交者日期的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!