簡體   English   中英

刪除存儲庫中最舊的文件

[英]Remove Oldest File in Repository

我有一個git repo,我有一個文件的修訂版,其日期為unix時間戳。 我想獲取最舊的文件(即時間戳最小的文件)並將其刪除。

僅靠Bash是否有可能?如果可以,怎么辦?

如果要在目錄樹中找到最舊的文件,可以執行以下操作:

ls -tr $(find . -type f) | head -1

只要文件數量不太大,此方法就起作用。 如果您願意刪除“所有早於特定天數的文件”,則更加容易。 例如,如果您想清除5天以上的東西,請執行以下操作:

find . -type f -mtime +5 -print | xargs rm

您不想逐字逐句地運行; 您需要提供適當的過濾器以find -或將其根植在適當的目錄中-這樣您就只刪除真正要刪除的文件。

顯然,您還需要將這些刪除也提交給git。 你可以這樣做:

find . -type f -mtime +5 -print | xargs git rm
git commit -m "deleted things"

...盡管請注意,這可能會提交您先前使用“ git add”進行的更改。 有些事情最好由手工完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM