我已经开始将我的私有subversion项目转换为git(Github)并将代码发布给公众。因此,我是一个git新手。
不幸的是,有一个包含机密数据的项目的修订版。修订版没有标记,我只知道它的哈希值。
有没有办法从远程git存储库中完全删除该特定修订版? 这是一个独立项目,所以没有人会受到伤害。
答案 0 :(得分:3)
位于here的帖子解决了我的问题。
如果您要修复的提交不是最新的提交:
git rebase --interactive $parent_of_flawed_commit
如果你想修复几个有缺陷的提交,请传递最旧的提交的父级。
将出现一个编辑器,其中包含自您提交的所有提交后的列表。
- 在您要修复的任何提交前面将
pick
更改为edit
。- 保存后,git将重播列出的提交。
- 醇>
对于您要编辑的每个提交,Git都会回退到shell:
- 以您喜欢的任何方式更改提交。
git commit --amend
git rebase --continue
大多数此序列将通过各种命令的输出向您解释。这很容易,你不需要记住它 - 只要记住
git rebase --interactive
让你无论多久以前都能正确提交。