2012-03-20 163 views
3

一個團隊成員不小心將超過1GB的文件提交給我們的主分支,並將其推送到原點。我已經從源代碼管理中刪除它並致力於掌握。但是,所有其他更新其代碼的合作者(通過git pull)實際上都是將文件作爲歷史記錄的一部分進行下載。從本地沒有的遠程git歷史記錄中刪除提交

我想擺脫完全從歷史的承諾。我想如果我可以訪問團隊成員的計算機,這樣做會容易得多,但我現在不會。那麼有沒有辦法做到這一點,而不必從遠程拉下最新的?

回答

3

我假設你有一個回購副本,但只是你沒有最大的承諾。您可以將副本推到git push -f的副本中,以完全覆蓋其他回購委託並從此處繼續。

+0

很酷。是的,我沒有這個承諾,所以我想盡量避免它。問題是她後來提交了更多的代碼,那麼會做一個'push -f'的打擊呢? – John 2012-03-20 08:18:52

+2

@john - 當然。現在,這是她的工作,以確保一旦回購處於適當狀態時它會被推動。代碼將被從服務器上吹走,但當然會保留在她的本地回購站中,她必須能夠重新綁定/拉取和推送。 – manojlds 2012-03-20 08:21:02

+0

我不知何故設法做一個部分拉('git pull origin master',接着是'CTRL + C')。它沒有下載文件,但我的歷史是最新的。所以我能夠做一個'rebase'來完成這個提交,並且'push -f'完全掌握。 – John 2012-03-20 08:45:19

相關問題