Подтвердить что ты не робот

Git статус - список последней измененной даты

Используя git, можно ли перечислить дату последнего измененного файла вместе с ним? используя, например,

git status

или

git diff --name-only

4b9b3361

Ответ 1

Не напрямую, но вы можете использовать трубу:

Примечание: оригинальный ответ обновляется на основе комментариев

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 "%m" $file) $file; done|sort

Ответ 2

Примечание. Мне нужно было получить измененные файлы, отсортированные по дате, поэтому я изменил эхо:

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