Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.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
Php Git:基于票证的工作流的最佳实践_Php_Git_Svn_Merge - Fatal编程技术网

Php Git:基于票证的工作流的最佳实践

Php Git:基于票证的工作流的最佳实践,php,git,svn,merge,Php,Git,Svn,Merge,我希望在我工作的公司里从SVN晋升到Git。我遇到的问题是,我的头脑中有一个像样的工作流程 通常,对于处于启动后状态的PHP项目,客户端将使用ID(smeg23452)为某些工作创建票证。在SVN中,我们通常会在开发分支上的每个提交中放入票证ID,然后选择这些更改并将它们放入主干中。没关系,但也有一些时候合并失败了,或者开发人员未能将票证号码与工作进行对比 在理想的情况下,我希望能够在Git中为票据创建一个分支(例如smeg23452),在完成更改后将smeg23452合并到develop中,然

我希望在我工作的公司里从SVN晋升到Git。我遇到的问题是,我的头脑中有一个像样的工作流程

通常,对于处于启动后状态的PHP项目,客户端将使用ID(smeg23452)为某些工作创建票证。在SVN中,我们通常会在开发分支上的每个提交中放入票证ID,然后选择这些更改并将它们放入主干中。没关系,但也有一些时候合并失败了,或者开发人员未能将票证号码与工作进行对比

在理想的情况下,我希望能够在Git中为票据创建一个分支(例如smeg23452),在完成更改后将smeg23452合并到develop中,然后将smeg23452合并到将要测试的暂存中,暂存将合并到master中,以便实时部署(而不是将develop合并到master,这似乎是常见的做法). 客户机通常会创建5张票据,希望在开发环境中在线查看它们,然后只选择其中的3张票据上线,这就是为什么我需要能够使它们远离其他环境的原因


我全搞错了吗?

看看git流。Git flow是一种分支策略,它还附带了一些漂亮的命令来帮助您

我指的是“整合过程”。
我指出要快速排除不能进入prod的特性

但问题是:

在这种情况下它会起作用吗

分支机构
si001
si003
在开发(客户端可见环境)中正常,已被请求上线,但
si002
需要上线。
因为我们有两个合并的开发,我们需要一个接一个地恢复它们,然后我才能合并开发到master


您只需将合并提交“合并分支”功能/si002“还原为开发”。

这可能会有所帮助:这会有所帮助,但如果客户希望看到两个票据并排出现,并且只签署一个票据投入生产,该怎么办?然后您将还原()提交
集成
分支中的第二个票据,并将新的
集成
合并到
(或
产品
)分支。嗯,我不太确定这是否可行。由于客户端的性质,我们无法冻结更改。此外,如果我们得到一个大的变更集,那么在我们将其弹出到master/prod之前,必须将所有这些从集成中恢复出来,这将非常耗时。我们可以做的一件事是设置一个远程源/环境来自动托管每个功能分支。至少在一项功能签署后,我们可以将其集成。耗时吗
git revert
用于快速还原大量文件。如果没有冲突,那么它是即时的。感谢您的编辑和澄清。我是否需要将“合并分支”功能/si002的两个实例都还原为develope(有不止一个)?@MrNorm是的,两个合并提交的还原,从最新的开始,然后是最旧的。嗯,我开始认为我们的工作流现在总体上是错误的。我知道在一个项目中,我们有6个正在进行的“功能”,其中包括多个合并,以“开发”UAT。如果我们有一个文本更改功能被签署,我们就需要撤销所有这些合并。虽然这是一个简单的命令,但它会非常耗时和/或容易出现用户错误。让一个“开发”分支和一个“登台”分支互不可知(但将功能合并到两者中)是不是一个禁忌?@MrNorm登台分支通常是一个好主意,您可以在其中集成您知道必须投入生产的功能。拥有两个分支并不意味着它们必须在某个时候合并:它们可以实现不同的目标,彼此独立。我想那可能就是这样。所以,我们有开发、阶段和功能分支。特征分支可以合并开发,直到UAT完成并签字,然后特征分支可以(再次)与阶段合并,准备与主阶段合并。这样行吗?