如果要“撤消”功能分支,您有哪些选项?假设您添加了一个新功能supercool-feature
,您将完成该功能(合并到开发中并删除功能分支),然后进入发布版。但是,您的用户真的不喜欢这个supercool-feature
。如何撤消/回退/反转已合并到开发和发布中的此功能?
我正在使用SourceTree进行版本控制。
答案 0 :(得分:14)
运行此命令
git revert -m 1 <sha1 of M>
<强>解释强>
您的情况如下:
A-B-----C---D-M # master \ / X-Y---Z- # supercool-feature
A,B,C和D位于主分支中,即功能分支中的X,Y和Z.当你做git merge supercool-feature
时,Git为你创建了一个“合并提交”M.此提交包含来自功能分支的所有提交以及修复合并冲突的可能修复。因此,如果您提交revert
,那么您的featurebranch的每次更改都将再次消失。
答案 1 :(得分:1)
实际上命令是
git revert -m 1 <sha1 of M>
删除M向后移动包含X,Y,Z的分支,该分支不是主线1。