rebase vs reset vs revert? I just want to roll back
本问题已经有最佳答案,请猛点这里访问。
假设我做了很多提交,我们称它们为1、2、3、4、5和6(哈希)。
假设我和hash 6一起提交。我所要做的就是返回到hash 3,使之成为我的代码库的状态与我提交hash 3时的状态相同,就好像另一个提交从未发生过一样。
当我看到这样的答案时,似乎每个人都有不同的答案。
我只想在以前的承诺。有人能告诉我怎么做吗?
如果你已经把你的分支推到某个地方,或者有人从你身上拉了下来,你唯一的选择就是
这将创建一个取消您在commit(s)
例如,要恢复最后三次提交:
1 | git revert HEAD~2..HEAD |
如果您将您的承诺完全保留在本地和私人,那么您可以简单地执行1(2)。
这将把您的分支指针移动到
根据索引和工作树的状态,您可能需要任何选项
例如,要将分支重置为最后三个之前的提交:
1 | git reset HEAD~3 |
号
当您想从一个提交中复制或"移动"一些提交时,可以使用它,这些提交是基于另一个提交(另一个基础),因此是"重新平衡"。
这样怎么样:
为哈希3创建分支。
创建pr或将此分支合并到master(哈希6)