git status - 列出上次修改日期

时间:2013-01-03 14:58:41

标签: git

使用git,是否可以列出未分段文件的最后修改日期及其路径?使用例如。

git status

git diff --name-only

2 个答案:

答案 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),然后回显文件,我能够从最旧到最新的修改进行排序。


Sam Hasler添加in the comments

在模式中

保留空格

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