我有一个 webapp,其中一个新功能已合并到开发分支,并准备好合并到 master 并从那里部署。这是一个相当复杂的功能,如果出现任何意外行为,我需要能够干净利落地恢复。
我正在计划这个:
git checkout master
git merge --squash develop
git commit -m 'Merged...etc'
一切都简单明了。如果我确实需要回滚,我希望能够做到这一点:
git checkout master
git revert HEAD
但是,如果有必要,我将需要在开发中解决该问题,并在以后重新合并。我在 git help revert 中读到了这个:
恢复合并提交声明您将永远不希望合并带来的树更改。因此,以后的合并只会带来提交引入的树更改,这些提交不是先前恢复的合并的祖先
这表明我以后可能无法重新合并相同的代码。或者使用 --squash 是否意味着这不被视为合并提交(因为提交是一个单独的事务)并且我将来可以重新合并。
所以我正在寻找一些关于这是否被 git 视为合并提交的澄清。