Git:删除一个远程修订版

时间:2010-02-14 12:30:19

标签: git github

我已经开始将我的私有subversion项目转换为git(Github)并将代码发布给公众。因此,我是一个git新手。

不幸的是,有一个包含机密数据的项目的修订版。修订版没有标记,我只知道它的哈希值。

有没有办法从远程git存储库中完全删除该特定修订版? 这是一个独立项目,所以没有人会受到伤害。

1 个答案:

答案 0 :(得分:3)

位于here的帖子解决了我的问题。

  

如果您要修复的提交不是最新的提交:

     
      
  1. git rebase --interactive $parent_of_flawed_commit

         

    如果你想修复几个有缺陷的提交,请传递最旧的提交的父级。

  2.   
  3. 将出现一个编辑器,其中包含自您提交的所有提交后的列表。

         
        
    1. 在您要修复的任何提交前面将pick更改为edit
    2.   
    3. 保存后,git将重播列出的提交。
    4.   
  4.   
  5. 对于您要编辑的每个提交,Git都会回退到shell:

         
        
    1. 以您喜欢的任何方式更改提交。
    2.   
    3. git commit --amend
    4.   
    5. git rebase --continue
    6.   
  6.         

    大多数此序列将通过各种命令的输出向您解释。这很容易,你不需要记住它 - 只要记住git rebase --interactive让你无论多久以前都能正确提交。