課題
ファイル一覧の抽出については--name-only
を使うのはよく知られているテクニックです。
例えば以下では、一週間前からコミットされたファイルを抽出しています。しかし、コミットハッシュやコミットメッセージは不要です。どうしたものでしょう。
$ git log --name-only --oneline --since $(date -u -d '1 week ago' +%s) f6c0a0c (HEAD -> master, origin/master, origin/HEAD) fix: 対象ファイル抽出をスクリプト化 Makefile scripts/check.sh scripts/publish.sh 34d938a update: last_publish_time last_publish_time 296fcd7 add: 「プログラミングTypeScript」を読んだ kiririmode.hatenablog.jp/entry/20211002/1633147962.md 96ff093 upgrade: CI用Node環境をNode v16へアップグレード .github/workflows/blog.yml package-lock.json 062c0d4 add: 他者から与えられたミッションに身を投じても良いんじゃないかという仮説 kiririmode.hatenablog.jp/entry/20211002/1633144073.md
解法
--pretty="tformat:"
を使うと、楽に消せることに気づきました。
git log --name-only --pretty="tformat:" --since $(date -u -d '1 week ago' +%s) Makefile scripts/check.sh scripts/publish.sh last_publish_time kiririmode.hatenablog.jp/entry/20211002/1633147962.md .github/workflows/blog.yml package-lock.json kiririmode.hatenablog.jp/entry/20211002/1633144073.md