如何使测试分支与master保持同步,并具有合并到两者的功能分支

时间:2017-07-24 14:52:44

标签: git workflow git-branch

我有三个分支:

  • 主人
  • 错误修复
  • local-test-environment(仅限本地存在)
本地和远程回购都存在

master和bug-fix。

要求:

a)我希望本地测试环境与master保持同步,唯一的区别是本地配置不能出现在远程服务器上,因为它包含身份验证机密。 (我目前在local-test-environment(这是一个本地唯一的分支)上提交了本地配置更改)

b)我想在本地测试环境上工作,但是通过bug-fix分支提交并将其推送到远程服务器。

c)我想从bug-fix-branch合并到master。

一旦修复了错误,理想情况下我想从local-test-environment清除工作目录,但是在下一个工作之前引入大修复程序,将其从master中合并。这是为了确保本地测试环境与master相同,但测试配置除外。

我正在努力找出最佳的工作流程。

目前我正在对local-test-environment的工作目录进行更改,然后将它们存储起来并将它们应用到我提交并推送它们的bug-fix分支。然后我回到本地测试环境,然后使用stash申请让他们回到那里并继续工作。 这个工作流程的问题是我只能这样做一次,否则下次我藏匿并进入bug-fix-branch时,存储将包含超出我需要的数量。

选项

我可以将git stash应用于bug-fix-branch和local-test-environment并同时提交。提交将是相同的。然而,我是否能够将更改从master转移到local-test-environment或者git将相同但独立的提交视为冲突?

或者我可以提交bug-fix-branch然后从bug-fix-branch到本地测试环境。如果我从bug-fix合并到master,然后从master到local-test-environment,我会遇到问题吗?请问git是否认为在主测试环境和本地测试环境中存在的樱桃选择部分是相同的并忽略它们?或者我会发生冲突吗?

如果这些工作流程都不起作用,是否有更好的工作流程?

1 个答案:

答案 0 :(得分:0)

没关系!我想我已经解决了。我只是提交了bug-fix和local-test-environment,然后在我将bug-fix合并到master之后,删除了local-test-environment的所有提交,重置或者rebase,然后从主服务器到本地测试环境的合并。现在看来很明显。