From 98d8249cf1582d9ce58152f9f24b36778589ab8c Mon Sep 17 00:00:00 2001 From: jbranchaud Date: Sun, 24 Nov 2024 23:37:16 -0600 Subject: [PATCH] Add Get Latest Commit Timestamp For A File as a Git TIL --- README.md | 3 ++- git/get-latest-commit-timestamp-for-a-file.md | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 git/get-latest-commit-timestamp-for-a-file.md diff --git a/README.md b/README.md index 84c3583..da1093d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186). -_1515 TILs and counting..._ +_1516 TILs and counting..._ --- @@ -310,6 +310,7 @@ _1515 TILs and counting..._ - [Find And Remove Files That Match A Name](git/find-and-remove-files-that-match-a-name.md) - [Find The Date That A File Was Added To The Repo](git/find-the-date-that-a-file-was-added-to-the-repo.md) - [Find The Initial Commit](git/find-the-initial-commit.md) +- [Get Latest Commit Timestamp For A File](git/get-latest-commit-timestamp-for-a-file.md) - [Get The Name Of The Current Branch](git/get-the-name-of-the-current-branch.md) - [Get The Short Version Of The Latest Commit](git/get-the-short-version-of-the-latest-commit.md) - [Grab A Single File From A Stash](git/grab-a-single-file-from-a-stash.md) diff --git a/git/get-latest-commit-timestamp-for-a-file.md b/git/get-latest-commit-timestamp-for-a-file.md new file mode 100644 index 0000000..50b6b82 --- /dev/null +++ b/git/get-latest-commit-timestamp-for-a-file.md @@ -0,0 +1,25 @@ +# Get Latest Commit Timestamp For A File + +The `git log` command can tell you all the commits that touched a file. That +can be narrowed down to the latest commit for that file with the `-1` flag. The +commit that it reports can then be further formatted to with the `--format` +flag. + +The `%ai` format pattern gives the date the commit was authored in an ISO +8601-like format. The `%aI` (capital `I`) gives the date the commit was +authored strictly in the ISO 8601 format. + +Here are examples of both side by side: + +```bash +❯ git log -1 --format=%ai -- README.md +2024-10-15 13:59:09 -0500 + +❯ git log -1 --format=%aI -- README.md +2024-10-15T13:59:09-05:00 +``` + +I made use of this in a script where I needed to get an idea of when various +files were most recently modified. + +See `man git-log` and the `PRETTY FORMATS` section for more details.