2012-03-20 167 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

相关问题