Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git主/暂存/生产设置,如何恢复暂存?_Git_Deployment - Fatal编程技术网

git主/暂存/生产设置,如何恢复暂存?

git主/暂存/生产设置,如何恢复暂存?,git,deployment,Git,Deployment,我刚读过 他们谈论主->分段->生产设置,我认为这是有道理的 有一件事困扰着我,如果我在登台时发现一个关键的bug,我该怎么办 i、 e.假设有需要投入生产的提交,也有需要在暂存分支中删除的提交 我想我需要做以下几件事 1. un-merge commits from `staging` which I don't need 2. um-merge the same commits from `master` so that `staging` can merge other commits

我刚读过

他们谈论主->分段->生产设置,我认为这是有道理的

有一件事困扰着我,如果我在登台时发现一个关键的bug,我该怎么办

i、 e.假设有需要投入生产的提交,也有需要在暂存分支中删除的提交

我想我需要做以下几件事

1. un-merge commits from `staging` which I don't need
2. um-merge the same commits from `master` so that `staging` can merge other commits 

是否有推荐的方法来执行上述操作

通常人们不愿意重写历史,因为您的项目可能会丢失有关设计决策的重要细节和信息。那么,我想建议的是,任何你决定不想在生产中进行的改变,你都可以。这样,您就删除了不需要的更改,但保留了一系列事件,这些事件告诉您为什么决定删除某些更改或功能

要使用此命令,请运行git revert

从暂存中删除不需要的提交后,将暂存合并到主分支中:

git签出主机

git合并暂存


我是这本指南的合著者。首先,让我纠正一下关于暂存->生产部件的问题。该指南不建议将登台合并到生产中。Staging是一个沙箱分支,它不打算合并到任何其他分支中,因为它可以包含未完成或已取消的分支

如果您在staging中发现一个已经合并到stable和production中的bug,只需使用git revert在stable中还原它,然后将stable合并到production并部署即可。然后,您也可以在staging中恢复它,或者从稳定分支从头开始重新创建staging

当每天都有很多功能/修复被合并到暂存中,并且其中一些功能/修复后来被取消时,最好不时地从主分支刷新暂存分支,然后只将相关的内容合并到其中。

我想我会执行git revert from master并将其合并到暂存中。与你的描述有点背道而驰。遵循主控->暂存->生产流程。听起来更好吗?