2013-07-03 76 views
2

我向存儲庫中添加了一個非常大的文件並將其提交,然後刪除了該文件夾並執行了git add -u。我遇到的問題是,現在當我嘗試推送到遠程存儲庫時,上傳已提交的已刪除文件需要太長的時間。從git repo中刪除文件夾的所有痕跡

是否有任何方法可以刪除該文件夾的所有痕跡,這樣的回購行爲就像該文件夾從未存在過,並且不會嘗試上傳現在不存在的文件夾?

我試圖git clean -f -d

回答

4

您需要過濾庫的歷史(並因此改變這一切後提交IDS提交)爲了做到這一點。

執行此操作的一種方法是使用git filter-branch來篩選出您不想要的文件。在GitHub的Remove Sensitive Data頁面上,有一個很好的步驟(包括一些您可能不需要使用的.gitignore)。

另一種方法是在添加壞文件之前簡單地對提交執行git rebase -i,然後忽略該操作和刪除文件所做的提交。

在這兩種情況下,您都要在本地進行修改,並且(強制)將新版本推送到您的中央回購站,並將其提供給您的協作者。

+0

謝謝!這正是我需要的 –

相關問題