2013-01-10 35 views
0

我有這樣的事情:刪除git的承諾,是不是在歷史

A - B - C 

我修正C和我有:

A - B - D 
浮動別的地方

而且C,我怎麼能刪除C從本地和遠程存儲庫?

沒有指向C的指針,但我可以在Github中讀取它的哈希值。我如何強制垃圾回收並將其推送到遠程?

+0

https://help.github.com/articles/remove-sensitive-data –

回答

1

github support

被警告,強制推遠程 回購不會刪除提交,簡單介紹了新的和分支指針移動到 點給他們。如果您擔心用戶直接通過SHA1訪問錯誤的 提交,您將不得不刪除該回購站,並且 將重新創建它。

謝謝。

0

你需要對你真正做什麼,什麼參考(頭部,「指針」)指向哪些提交等等有更具體的指示,然後才能得到特定的答案。

一般來說,如果沒有引用指向您的舊提交C,那麼它將被及時垃圾收集。

如果您有指向C的參考,並且您希望C消失,則需要刪除這些參考。當然,您需要了解這樣做的潛在影響 - 即其他提交可能會消失的內容。

+0

它會被垃圾收集的時間 - >不能也運行** [git gc --aggressive](http:// git-scm.com/docs/git-gc)**強制修剪鬆散的物體? – nulltoken

+0

有很多方法可以強制Git執行垃圾回收。他們中的任何人都會......強制Git做垃圾回收! – dty

+0

這會使遠程提交消失嗎? – juanpastas