2014-04-23 199 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