在合并之前将远程HEAD重置为特定的提交

时间:2018-10-15 18:06:37

标签: git branching-and-merging

这是Git Extensions呈现的情况:

enter image description here

A和B被推到原籍/母带。然后另一位开发人员合并了C。事实证明,C本身更好。 A,B和合并的HEAD应该被吹走,而C应该成为新的HEAD。

我看到了关于how to roll back remote的问答。我对术语感到怀疑。我想在这里做回滚吗?如果没有,该操作将被称为什么?

我是目前唯一从事此项目的开发人员,因此我不必担心打扰其他人的工作。

1 个答案:

答案 0 :(得分:0)

当您是唯一的开发人员时,可以使用通常不建议使用的简便方法,即使用git reset --hard <commit-sha1>将本地分支重置为所需的任何提交,然后执行{ {1}},强行覆盖遥控器。

更简洁的方法仍然是通过还原两个提交A和B。 git push --forcegit revert <A-sha1>将摆脱这两次提交所引入的更改,同时将它们保留在历史记录中。这样您就可以照常推送了。

要专门解决术语问题,Git中没有所谓的回滚。当人们谈论在Git上下文中回滚时,它们通常意味着还原或重置。简单地说,通过创建一个撤消更改的新提交,还原撤消撤消提交。重置会在历史记录中的不同提交处创建分支点,从而有可能导致完全丢失提交。