【发布时间】:2011-09-17 00:07:12
【问题描述】:
如果我将错误的初始提交(或多个)推送到远程存储库,并且只想清除/销毁它 - 我可以通过命令来完成吗?
从服务器中完全删除它很重要,这样它就不会占用磁盘空间。
例如今天我推送了一个包含 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'
【问题讨论】:
标签: git