2012-11-12 84 views
4

大約兩個月前,我的一位同事將他的虛擬環境添加到了我們的Git倉庫中,並將其推送。永久刪除Git中的一箇舊提交

我在隨後的提交/推送中刪除它,並將它添加到.gitignore中。

但是,從那時起,我們已經提交了約500多個提交。

有沒有一種方法,我可以從Github和我們的本地回收庫中完全刪除他原來的90k行提交而不會導致任何問題?

回答

3

您可以在問題出現之前從提交中創建一個分支,並在問題出現之後首次提交一個分支。然後將第二個重新綁定到第一個。然後,如果您重置主人以指向該分部的新提示,並將所有參考刪除到其他行,則GC最終會銷燬這些項目。

當然,之後你可能會想要重新克隆每個人的回購,因爲這是一種侵入式的變化,需要更新大量的參考資料(假設從你的描述中可以看到自回購以來發生了很多事情這個)。

3

Github有一個help page on removing sensitive data也適用於你的情況(只有少數Github特定的部分,你可以忽略)。

好消息是你可以刪除舊提交。

壞消息是,你可能可能給你的合作者造成麻煩,除非你可以非常有效地溝通,整個存儲庫的歷史將會改變。他們需要重新設置所有工作部門以應對新的歷史。