我的團隊中有人將大文件推送到git服務器,團隊中的每個人現在都擁有大文件的項目克隆。如何永久刪除整個團隊的大文件
我遵循http://help.github.com/removing-sensitive-data/中的指南,它在我的本地源代碼樹以及遠程服務器上都能正常工作。但是一旦其他人從遠程服務器獲取新數據,他將通過向服務器推送新提交來輕鬆地重新引入大文件。
正常情況下,團隊成員會做以下分享他與他人提交:
git fetch origin
git rebase origin/master
git push origin
在「重訂」的步驟,舊的大文件在他的本地提交重新提出。當然,直接的方法是在我刪除大文件後要求團隊中的每個人重新克隆該項目,但不是每個人都樂意這樣做。除了爲每個人重新整理整個項目之外,我正在尋找其他方法。
有什麼建議嗎?謝謝。
我沒有看到他們將如何介紹的巨型對象,如果他們再次推。推只會推送位於old_commit..new_commit中的任何提交中的提交可訪問的對象。 – 2011-03-15 03:40:19
假設您有提交歷史記錄A-B-C-D-E。有些人在提交C中添加大對象。然後刪除對象,從C重寫歷史記錄並強制將新歷史記錄推送到服務器。歷史現在是A-B-C'-D'-E'。另一位成員起初已經克隆了整個項目,他的當地歷史也是A-B-C-D-E。在他提取新的歷史記錄後,本地提交在原始/主文件中分離,即A-B-C'-D'-E,而在主分支上則爲A-B-C-D-E。重新綁定之後,新的歷史就像A-B-C'-D'-E'-C-D-E,然後他推送到服務器 - 舊的提交C被重新引入。 – 2011-03-15 05:18:51