dol*_*oug 60 git logging file fileupdate git-log
如何获得包含过去2天内更改的所有文件的列表?我知道
git log --name-status --since="2 days ago"
Run Code Online (Sandbox Code Playgroud)
但这会显示我的ID,日期和提交消息.我只需要更改的文件名列表.
用git可能吗?
Pen*_* Qi 88
git log --pretty=format: --name-only --since="2 days ago"
Run Code Online (Sandbox Code Playgroud)
如果某些文件在多次提交中重复,您可以使用管道对其进行过滤
git log --pretty=format: --name-only --since="2 days ago" | sort | uniq
Run Code Online (Sandbox Code Playgroud)
AA.*_*AA. 51
git diff --stat @{2.days.ago} # Deprecated!, see below
Run Code Online (Sandbox Code Playgroud)
简短有效
TLDR:使用 git diff $(git log -1 --before=@{2.days.ago} --format=%H) --stat
很长的解释:原来的解决方案很好,但它有一点小故障,它仅限于reflog,换句话说,只显示本地历史,因为reflog从未被推到远程.这就是为什么你warning: Log for 'master' only goes back to...最近克隆了in repos 的原因.
我在我的机器中配置了这个别名:
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'
Run Code Online (Sandbox Code Playgroud)
点数:@ adam-dymitruk回答如下