2016-03-16 43 views
2

爲了清理一些git repo,我想列出所有在一段時間內沒有收到任何新提交的文件(例如,讓我們告訴一年)。Git:顯示最近未修改的文件

我知道如何列出X最近修改的文件,但不知道如何做相反:)

感謝。

+0

由於您知道如何找到您不想要的文件集,只需獲取所有跟蹤文件的列表並刪除最近修改的文件。 –

+0

感謝您的回答,我正在考慮這個問題,但我想知道是否沒有一個很好的方式來使用git開箱即可:) – filaton

回答

0

編寫一個循環遍歷所有文件的腳本,從文件中提取修改日期,然後將其打印出來。

它與GIt無關。 :-)


如果你想使用git命令來做到這一點,你不能使用ls-tree命令:

# loop over the files and print last modification date 
git ls-tree -r --name-only HEAD | while read filename; do 
    echo "$(git log -1 --format="%ad" -- $filename) $filename" 
done 

ls-tree

列表中的一個樹對象
--name-only的內容 - 只打印出文件名

循環並打印出表格文件的日誌的最後修改日期

+0

在我的情況下,這不起作用,因爲創建/修改日期被覆蓋到我下載文件的日期。這就是爲什麼我想用提交日期來做它,因爲它沒有被覆蓋。 – filaton

+0

下面是你可以做的: http://stackoverflow.com/questions/35979874/get-a-graph-data-that-shows-last-1-year-on-code-checkins/35980125#35980125 – CodeWizard

2

這裏是1班輪展現有在去年被改變的文件:

git ls-files | grep -v "$(git log --pretty=format: --name-only --since='1 year ago' | sort | uniq)" 

也許你可以在一個別名這個包裹起來,使其更容易地調用。

相關問題