過去2日間に変更されたすべてのファイルのリストを取得するにはどうすればよいですか?私は知っています
git log --name-status --since="2 days ago"
ただし、ID、日付、コミットメッセージは表示されます。必要なのは、変更されたファイル名のリストです。
Gitでそれは可能ですか?
git log --pretty=format: --name-only --since="2 days ago"
複数のコミットでいくつかのファイルが重複する場合は、パイプを使用してフィルタリングできます
git log --pretty=format: --name-only --since="2 days ago" | sort | uniq
_git diff --stat @{2.days.ago} # Deprecated!, see below
_
短くて効果的
TLDR:git diff $(git log -1 --before=@{2.days.ago} --format=%H) --stat
を使用
長い説明:元のソリューションは良好でしたが、少し不具合があり、reflog
に限定されていました。つまり、reflog
はプッシュされないため、ローカル履歴のみを表示します- リモート。これが、最近複製されたリポジトリで_warning: Log for 'master' only goes back to...
_を取得する理由です。
私はこれを設定しましたalias私のマシンで:
_alias glasthour='git diff $(git log -1 --before=@{last.hour} --format=%H) --stat'
alias glastblock='git diff $(git log -1 --before=@{4.hours.ago} --format=%H) --stat'
alias glastday='git diff $(git log -1 --before=@{last.day} --format=%H) --stat'
alias glastweek='git diff $(git log -1 --before=@{last.week} --format=%H) --shortstat | uniq'
alias glastmonth='git diff $(git log -1 --before=@{last.month} --format=%H) --shortstat | uniq'
_
クレジット:@ adam-dymitrukによる下記の回答
2日前に最も近いバージョンのdiffを次の方法で実行できます。
git diff $(git log -1 --before="2 days ago" --format=%H).. --stat
--stat
は、変更の要約を提供します。追加 --name-only
メタ情報を除外し、ファイル名のみをリストします。
お役に立てれば。
Git logに--rawオプションを使用します。
$ git log --raw --since=2.days
--raw形式で表示されるフラグの説明については、gitログのヘルプページの--diff-filterの部分を参照してください。各コミットでファイルに何が起こるかを説明します:
--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
Select only files that are Added (A), Copied (C), Deleted (D),
Modified (M), Renamed (R), have their type (i.e. regular file,
symlink, submodule, ...) changed (T), are Unmerged (U), are Unknown
(X), or have had their pairing Broken (B). Any combination of the
filter characters (including none) can be used. When *
(All-or-none) is added to the combination, all paths are selected
if there is any file that matches other criteria in the comparison;
if there is no file that matches other criteria, nothing is
selected.
git log --pretty="format:" --since="2 days ago" --name-only