我向存儲庫中添加了一個非常大的文件並將其提交,然後刪除了該文件夾並執行了git add -u
。我遇到的問題是,現在當我嘗試推送到遠程存儲庫時,上傳已提交的已刪除文件需要太長的時間。從git repo中刪除文件夾的所有痕跡
是否有任何方法可以刪除該文件夾的所有痕跡,這樣的回購行爲就像該文件夾從未存在過,並且不會嘗試上傳現在不存在的文件夾?
我試圖git clean -f -d
我向存儲庫中添加了一個非常大的文件並將其提交,然後刪除了該文件夾並執行了git add -u
。我遇到的問題是,現在當我嘗試推送到遠程存儲庫時,上傳已提交的已刪除文件需要太長的時間。從git repo中刪除文件夾的所有痕跡
是否有任何方法可以刪除該文件夾的所有痕跡,這樣的回購行爲就像該文件夾從未存在過,並且不會嘗試上傳現在不存在的文件夾?
我試圖git clean -f -d
您需要過濾庫的歷史(並因此改變這一切後提交IDS提交)爲了做到這一點。
執行此操作的一種方法是使用git filter-branch
來篩選出您不想要的文件。在GitHub的Remove Sensitive Data頁面上,有一個很好的步驟(包括一些您可能不需要使用的.gitignore
)。
另一種方法是在添加壞文件之前簡單地對提交執行git rebase -i
,然後忽略該操作和刪除文件所做的提交。
在這兩種情況下,您都要在本地進行修改,並且(強制)將新版本推送到您的中央回購站,並將其提供給您的協作者。
看看BFG Repo-Cleaner。這是一個專門爲此目的而編寫的工具。
謝謝!這正是我需要的 –