我们假设我们使用两个分支进行开发: staging 和 master 。在迭代期间,所有团队成员所做的所有更改都会定期合并到 staging 分支中,并显示在我们的暂存环境中。客户可以查看更改并提供反馈。在迭代结束时,我们将暂存分支合并到主,并执行从主到我们的生产实例的部署
想象一下当我们具有只能在当前迭代中部分实现的特定功能时的情况。但与此同时,我们希望我们的客户能够看到(并希望提供反馈)该功能在我们的暂存环境中带来的变化。因此,在我们的暂存分支的迭代结束时,我们提交的相关内容与应且不应合并为主
有没有办法解决这样的情况?
答案 0 :(得分:0)
你基本上有两个选择。
从不需要合并到主服务器的暂存分支中撤消合并:
$ git revert <merge_commit_sha1>
这将附加一个新的提交,即&#34;撤消&#34;合并提交的更改(文件删除,代码更改等)
Cherry选择提交到master的范围,制定你想推送的功能
$ git cherry-pick <start_hash>^..<end_hash>
请记住^
或其他git不包含<start_hash>
提交