记一次 git revert 的经历
文章目录
【注意】最后更新于 December 2, 2019,文中内容可能已过时,请谨慎使用。
合作开发经常会提merge request
嘛, 然后就提了一个不该提的, 还手抖给合并了….
返现问题以后准备回退, 然后抬眼一看各分支的合并情况….
哇脑壳痛, 这就用不了平时最喜欢的 reset
了, 查了查资料, 想取消某一次 merge request用 revert
是最合适的
接下来分三步,先找到要回退的那次 mr, 通常是这样的:
|
|
这样的, 这只是 log 的中间的一部分, 假设 mr 之后后续又有很多 mr 已经合并了, 那么先找到我们要回退的 commit id
, 这里就假设一个叫 c76627674dedf4fc067cb0c5b2afbc123fd9c053
-
执行
git revert -m 1 c76627674dedf4fc067cb0c5b2afbc123fd9c053
通常执行这一步之后没什么冲突就可以了, 然后有冲突了, 就和正常的 merger conflicts 处理一样
-
解决完冲突, 执行
git revert --continue
这就算合并了那么回滚到一半不想做了, 也好说, 执行
git revert --abort
以后, 大家就当无事发生过
关于 git revert -m 1
这个1
指的是 mainline
, 1 代表着 master 这条线
资料参考: Why does git revert complain about a missing -m option?
文章作者 GPF
上次更新 2019-12-02 (521dbfe)