如何在不更改git历史记录的情况下,使用语义发布将突破性更改远程提交更改为修复或功能?



我使用语义发布来自动控制和发布我的Git存储库。但是,我犯了一个错误,并在远程存储库上提交了一个破坏性的更改,我想在不更改Git历史的情况下将其更改为修复或功能。

是否可以使用语义释放来做到这一点,或者是否有其他工具或方法可以帮助我实现这一点?

我不想修改Git的历史记录,因为这可能会导致其他已经完成修改的团队成员产生问题。

任何帮助或建议都将非常感激。谢谢你。

提交了对远程存储库的破坏性更改,并且我希望更改为修复或功能,而不更改Git历史

(我强调。)

不可能的。Git不是这样的。Git最基本的事实是不能以任何方式修改提交。任何你能想到的对这个提交做的事情都包括改变历史记录。

显然,您可以通过附加进一步的提交(例如恢复)来抵消破坏。但是你不能把这个提交变成其他任何东西。你必须用另一个提交强制替换这个提交,这就是改变历史记录。

我发现了这个GitHub问题https://github.com/semantic-release/commit-analyzer/issues/232

你应该避免重写任何发布分支的历史。然而,不是发布分支的分支应该可以安全地进行修改。事实上,在合并到一个发布分支之前,建议重写复杂分支的历史,以便在生成的发布说明中讲述一个合适的故事

最新更新