2014-04-23 196 views
2

我按照這個答案(How to remove/delete a large file from commit history in Git repository?)來擺脫倉庫中的一些大的不需要的文件。我已經在我的本地副本中完成了所有這些步驟(因爲嘗試在裸露的原始存儲庫中執行此操作會導致錯誤,只要它沒有工作樹)。然而,當我完成的步驟(已刪除的文件,等等),我做我的本地副本「混帳地位」,我得到git branches rebase after rebase

# On branch master 
# Your branch and 'origin/master' have diverged, 
# and have 16 and 18 different commit(s) each, respectively. 

,我不知道如何更改發送回中央儲存庫。有誰能夠幫助我?

+0

從第一個答案重複第一位:**如果您向其他開發人員發佈了歷史記錄,那麼您想要做的事情是非常具有破壞性的。**這是因爲您不能*更改*任何提交,您只能進行新的,略有不同的提交,不再包含大文件。你的分支現在有16個新的提交。其他人將不得不刪除那些相同的18箇舊提交,並切換到使用16個新提交(如下面答案中的VonC註釋)。 – torek

回答

4

既然你改變你提交的歷史,你將不得不迫使他們推回原點:

git push --force 

這是危險的和破壞性的。確保溝通該事件的任何人在已經從您的回購拉(前推):他們將需要他們的主分支重置您剛剛推之一:

git checkout master 
git fetch 
git reset --hard origin/master