这就是我的提交历史记录(一切都被推送到存储我的仓库的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>
不起作用,它只会还原 提交。
答案 0 :(得分:1)
这是完全正常的。您也可以在要提交的提交的提示上设置标记。
答案 1 :(得分:0)
答案是(如here所述)使用:
git revert --no-commit c-100..HEAD
git commit