使用 git,是否可以在路径旁边列出未暂存文件的最后修改日期?使用例如。
git status
或者
git diff --name-only
不直接,但您可以使用管道:
注意:原始答案根据评论更新
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(来源):
git status -s | while read mode file; do echo $mode $(stat -f "%Sm" $file) $file; done|sort
注意:我需要得到按日期排序的修改文件,所以我修改了回显:
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
),然后是文件,我能够从最旧到最新的修改进行排序。
Sam Hasler在评论中补充道:
要在模式下保留空格:
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