【发布时间】:2015-01-03 00:30:34
【问题描述】:
这就是我的提交历史的样子(所有内容都已推送到存储我的 repo 的 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
理想情况下,我会向 master 提交一些提交,然后保持不变,直到我可以将新分支合并到其中。
这是正确的做法吗?
添加
刚刚试了一下,使用git revert <SHA> 不起作用,它只会恢复那个提交。
【问题讨论】:
-
git revert != snv revert。听起来您需要执行
git reset --hard c100然后强制推送。 SO上有很多关于这个的其他线程 -
我刚刚尝试了我的问题中的命令,但它不起作用,它只是恢复了 that 提交,它没有将
master恢复到原来的状态在那次提交上。所以我猜你是对的。
标签: git github git-revert