2013-01-03 43 views

Trả lời

22

Không trực tiếp nhưng bạn có thể sử dụng một ống:

git status -s | while read mode file; do echo $mode $file $(stat -c %y $file); done 
+8

mà làm việc - với một caveat - Tôi đang sử dụng msysgit trên các cửa sổ có vẻ như 'stat' không khả dụng. nhưng tôi đã tìm thấy tôi có thể sử dụng 'ngày' thay thế như thế này: ' git status -s | trong khi tập tin chế độ đọc; do echo $ mode $ (ngày --reference = $ file + "% Y-% m-% d% H:% M:% S") $ file; done' – caitriona

+4

trên máy Mac của tôi, 'stat -c' dường như không hoạt động. Tôi đã làm nó như thế này: 'git status -s | trong khi tập tin chế độ đọc; echo mode $ (stat -f "% m" $ file) $ file; xong | sắp xếp'. source: http://stackoverflow.com/a/10198387/2486953 – jasonszhao

+0

Không hoạt động với không gian trong đường dẫn tương ứng $ file. Cũng không hoạt động: "$ file". –

7

Lưu ý: Tôi cần thiết để có được các tập tin sửa đổi sắp xếp theo ngày, vì vậy tôi đã sửa đổi tiếng vọng:

git status -s | while read mode file; \ 
    do echo $mode $(stat -c %y $file) $file; \ 
done|sort -k1.4 

Một dòng:

git status -s | while read mode file; do echo $mode $(stat -c %y $file) $file; done|sort -k1.4 

Bằng cách lặp lại đầu tiên ngày (stat), và sau đó là tập tin, tôi đã có thể sắp xếp từ cũ nhất đến mới nhất sửa đổi.


Sam Hasler thêm in the comments:

Để giữ gìn không gian trong chế độ:

IFS=''; git status -s | while read -n2 mode; read -n1; read file; do echo $mode $(stat -c %y "$file") $file; done|sort 

Đó là:

IFS=''; git status -s | while read -n2 mode; read -n1; read file; \ 
    do echo $mode $(stat -c %y "$file") $file; \ 
done|sort 
+0

Bảo quản khoảng trống trong 'chế độ': ' IFS = ''; git status -s | trong khi chế độ đọc -n2; đọc -n1; Đọc tài liệu; làm echo $ mode $ (stat -c% y "$ file") $ file; đã xong | sắp xếp -k1.4' –

+0

@SamHasler điểm tốt. Tôi đã bao gồm bình luận của bạn trong câu trả lời cho khả năng hiển thị nhiều hơn. – VonC

Các vấn đề liên quan