从 Git 中移除某些历史 Commit

Git Git-Workflow

在 Git 开发中通常会控制主干分支的质量,但有时还是会把错误的代码合入到远程主干。 虽然可以 直接回滚远程分支, 但有时新的代码也已经合入,直接回滚后最近的提交都要重新操作。 那么有没有只移除某些 Commit 的方式呢?可以一次 revert 操作来完成。

安全地回滚远程分支

Git Github Git-Workflow

在 Git 中使用 reset 可以让当前分支回滚(reset)到任何一个历史版本, 直接移除那以后的所有提交。但这更改了 Git 的历史,Git 服务通常会禁止这样做。 这便需要一个更安全的方式将代码状态回到历史版本,同时不更改 Git 历史。

如果直接回滚会影响到最近的提交,可以参考 从 Git 历史移除某些 Commit 在回滚的同时保留最近的有效提交。

所谓 保护分支,就是指不允许改写 Git 历史的分支。在 Github 中对应的选项是 Force Pushes,该选项默认处于 Disallow 状态。

上一页 下一页