场景1:

  你有两个功能迭代版本的分支,一个是 15 号上线,一个是25号上线。5号的时候产品突然说,这两个版本一起上,然后你耿直的把25号版本merge到了15号版本。

几天后产品说:“一起上有问题,我们还是分开上吧”。这个时候你发现merge之后又提交了很多15号版本的代码,需要撤销那次merge并且保留后面的提交。

 

场景2:

  所有人共用 test 分支,有五个人都在这上面合并了自己的代码,结果有天 A 不小心把 develop 分支合并到了 test,过了一会 A 发现,并且想撤回的时候,发现再次期间,有好几个人都提交了代码。所以不能用reset,而是需要撤销merge并且保留后面更改。

 

有两种办法:

一、git rebase 变基

git log 找到那个merge的commitId

git rebase -i commitID   

将这个commitID前面的pick改为d   

保存并退出   

如果冲突,先解决然后 git rebase --continue

如果想撤销整个操作 git rebase --abort

多人协作时,不要用变基,commit 会造成混乱,出现很多两次的commit 信息

 

二、git revert

git revert -m 1 commitId

 

相关文章:

  • 2022-12-23
  • 2022-01-05
  • 2021-12-13
  • 2021-10-02
  • 2021-11-16
  • 2021-11-14
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
  • 2021-09-29
  • 2021-12-05
  • 2021-12-21
相关资源
相似解决方案