使用git,是否可以列出未分段文件的最后修改日期及其路径?使用例如。
git status
或
git diff --name-only
答案 0 :(得分:42)
不是直接但你可以使用管道:
注意:根据评论更新原始答案
Linux的:
git status -s | while read mode file; do echo $mode $file $(stat -c %y $file); done
视窗:
git status -s | while read mode file; do echo $mode $(date --reference=$file +"%Y-%m-%d %H:%M:%S") $file; done
OSX(source):
git status -s | while read mode file; do echo $mode $(stat -f "%m" $file) $file; done|sort
答案 1 :(得分:11)
注意:我需要按日期排序修改过的文件,所以我修改了echo:
git status -s | while read mode file; \
do echo $mode $(stat -c %y $file) $file; \
done|sort -k1,4
一行:
git status -s | while read mode file; do echo $mode $(stat -c %y $file) $file; done|sort -k1,4
首先回显日期(stat
),然后回显文件,我能够从最旧到最新的修改进行排序。
保留空格:
IFS=''; git status -s | while read -n2 mode; read -n1; read file; do echo $mode $(stat -c %y "$file") $file; done|sort
那是:
IFS=''; git status -s | while read -n2 mode; read -n1; read file; \
do echo $mode $(stat -c %y "$file") $file; \
done|sort