在保留提交的同时将主服务器恢复为旧提交

时间:2014-11-06 13:17:46

标签: git github git-revert

这就是我的提交历史记录(一切都被推送到存储我的仓库的Github,但我是唯一的贡献者):

                           master       
                             |
..-c100-c101-c102-c103-...-c150

我需要将master还原为c100提交,而保留剩余的提交(即:c101-c102...-c150),我不想丢失它们

所以这就是我想出来的:

git checkout -b new-branch # Set up branch containing all commits
git checkout master        # Go back to master
git revert <c-100>         # Revert master branch to c-100 commit

会(希望)导致:

   master
     |
..-c100-c101-c102-c103-...-c150
                             |
                        new-branch

理想情况下,我会做一些提交来掌握然后保持不变,直到我可以将新分支合并到其中。

这是正确的方法吗?


添加

刚试过它并使用git revert <SHA>不起作用,它只会还原 提交。

2 个答案:

答案 0 :(得分:1)

这是完全正常的。您也可以在要提交的提交的提示上设置标记。

答案 1 :(得分:0)

答案是(如here所述)使用:

git revert --no-commit c-100..HEAD
git commit