2015-10-09 143 views
1

我忘記了rm refs/originalgit filter-branchgit gc,它清除了refs。我也承諾進入新的回購協議,並希望保留這些提交。git過濾分支後遺忘了rm refs/original

提取的分支大小爲幾千字節,但.git仍然權重80 MB,就像過濾之前一樣。

現在refs爲空,我不能輕易刪除refs/original了。我怎樣才能刪除原件?如果可能,我想避免再次使用filter-branch

回答

1

您的參考資料已包裝(git gc運行git pack-refs)。這並沒有改變裁判本身,除了不是每個人都在一個單獨的文件中,他們都在「打包」中。

您只需要刪除refs/origina/參考。理論上每個人都應該使用git update-ref -d,但是如果有很多,在編輯器中打開.git/packed-refs可能更容易,並且手動刪除所有refs/original/行。

您可能還需要清除reflog。

請參閱this StackOverflow answer瞭解更多信息。