Git撤消从新分支恢复的提交



我做了这件事,简化并在"伪GIT";

In branch master, commit A
In branch master, commit B
Push to server
-- We see that there's a bug
In branch master, revert commit B, A
-- Now, to test what happened:
new branch TEST from old commit A
-- Looking at it, we find out that the issue was in somebody else's API,
--  so our original commit A was OK. They fix their API

你会在这里做什么?回到A最优雅的方式是什么;还原还原";?

感谢

返回A的最优雅方式是什么,只是"还原还原";?

是。其他任何事情都需要改写历史,这是一个可怕的想法。

这看起来可能不是一种优雅的方式,但如果您的提交已经被推送到远程,那么这是最好的方式。

若您在本地机器上遇到了同样的问题,您可以重置这些提交,覆盖历史记录。这将导致更干净的历史记录,但问题是,如果您更改历史记录,您要么更改提交的哈希(基本上是创建一个新的提交,不能只进行编辑(,要么完全删除提交(就像您的情况一样(。

如果你想更改的承诺已经在回购中了,那么你会遇到冲突。Git不会让你覆盖那些提交。

不过,也可以选择强制推动。只有当你独自进行回购工作,或者在与团队协商后,你才能考虑。

最后,恢复提交并不是一个坏主意,而且我见过很多情况,当一个接一个地恢复时,甚至在";"干净";项目所以我想这很好。

最新更新