Git清除远程存储库

And*_*Gis 9 git

如果我将错误的初始提交(或多个)推送到远程存储库并想要清除它/销毁它 - 我可以通过命令执行吗?

将它从服务器中完全删除非常重要,因此它不会占用磁盘空间.

EG今天我推出了一个包含dll,sdfs等的整个Visual Studio项目.首先,这些文件非常大,其次有些是由其他开发人员的VS修改而不能合并的.这让我有点谷歌,我发现这些文件应该被忽略.但是第一次提交已经使我的存储库变得混乱.我想删除它并释放磁盘空间.

有可能删除git repo并通过主机网站(assembla)再次添加它,但这对我来说听起来不是解决方案..有更专业的方式吗?


更新:

我尝试了以下答案的建议,但它没有用:'git push -f''git push --force''git push origin -f''git push origin --force'导致:

$ git push --force
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (19/19), 6.85 KiB, done.
Total 19 (delta 3), reused 0 (delta 0)
remote: error: denying non-fast-forward refs/heads/master (you should pull fir
)
To git@git.assembla.com:xxxxx.git
 ! [remote rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@git.assembla.com:xxxxx.git'
Run Code Online (Sandbox Code Playgroud)

And*_*ndy 10

您可以强制推送"正确"的回购git push -f.根据主机的不同,git gc运行时将清理松散的物体. 更新:根据这个你不能强制git gcin assembla.

如果您希望它们立即清理并且assembla不允许您强制a git gc,则另一个选项是删除repo并推送一个新的repo.

此外,正如瑞恩在评论中所说,一定要让每个人都知道可能克隆了回购,你重写了历史.