2013-05-06 84 views
0

在準備提交時,我git添加文件f兩次,只用它的第二個版本提交。我可以從.git/objects中刪除f的版本1嗎?即使中間版本沒有被提交,.git/objects是否包含我的git增加的「無用的」副本?我怎麼做一些清理?無用的Git緩存/索引對象?

+0

你確定git是否保持第一個版本?當您再次添加同一個文件時,它會丟棄先前添加的未提交版本的文件似乎很合乎邏輯。 – Shahbaz 2013-05-06 15:08:03

回答

3

git gc將爲「一些命令」自動運行,但它也說:我們鼓勵

用戶在每個存儲庫中運行定期這個任務,保持良好的磁盤空間利用率和良好的經營業績。

混帳GC將默認修剪2周齡不可達的對象,但是你可以重寫與--prune選項持續時間。

要專門只刪除不可訪問的對象,可以使用git prune。從它的筆記:

在大多數情況下,用戶不需要直接調用git prune,而應該調用git gc來處理修剪以及許多其他內務處理任務。

有關修剪考慮哪些對象的描述,請參閱git fsck的--unreachable選項。

+0

我的意思是:我可能希望這種清理「現在」發生(也許意外地包含了一些內容以保持私密性。) – Robottinosino 2013-05-06 14:57:06