假设我们使用两个分支进行开发:staging and master。在迭代期间,所有团队成员所做的所有更改都会定期合并到staging分支并出现在我们的暂存环境中。客户能够查看更改并提供反馈。在迭代结束时我们合并staging分支到master并从执行部署master到我们的生产实例
想象一下当我们有特定功能只能在当前迭代中部分实现时的情况。但与此同时,我们希望客户看到(并希望提供反馈)该功能在我们的暂存环境中带来的变化。结果是在我们的迭代结束时staging分支我们有与以下功能相关的提交should and 不应该被合并到master
有没有办法解决这样的情况呢?
你基本上有两个选择。
-
从暂存分支中撤消您不想合并到主分支中的合并:
$ git revert <merge_commit_sha1>
这将附加一个新的提交,“撤消”该合并提交的更改(文件删除、代码更改等)
-
Cherry 选择 master 中的提交范围,以制定您想要推送的功能
$ git cherry-pick <start_hash>^..<end_hash>
记住^
否则 git 将不会包含<start_hash>
commit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)