Git:删除一个远程修订版

dgr*_*tin 6 git github

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

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

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

小智 4

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

\n\n
\n

如果您要修复的提交是\xe2\x80\x99t 是最新的提交:

\n\n
    \n
  1. git rebase --interactive $parent_of_flawed_commit

    \n\n

    如果您想修复多个有缺陷的提交,请传递其中最旧的提交的父级。

  2. \n
  3. 将会出现一位编辑器,其中包含自您提交以来的所有提交的列表。

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

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

此序列的大部分内容将通过各种命令的输出向您解释。\xe2\x80\x99s 非常简单,你不需要 \xe2\x80\x99 去记住它 \xe2\x80\x93 只要记住它就git rebase --interactive可以让你纠正提交,无论它们是多久之前的。

\n
\n