Git 如何使测试分支与主分支保持同步,并使功能分支与主分支合并

Git 如何使测试分支与主分支保持同步,并使功能分支与主分支合并,git,workflow,git-branch,Git,Workflow,Git Branch,我有三个分支机构: 主人 错误修复 本地测试环境(仅本地存在) 本地和远程repo中都存在master和bug修复 要求: a) 我想保持本地测试环境与主机同步,唯一的区别是本地配置不能出现在远程服务器上,因为它包含身份验证机密。(我目前在本地测试环境(仅本地分支)上提交了本地配置更改) b) 我想在本地测试环境上进行工作,但通过bug修复分支提交并将其推送到远程服务器 c) 我想从bug fix分支合并到master 一旦bug被修复,理想情况下,我希望从本地测试环境中清除工作目录,但在下

我有三个分支机构:

  • 主人
  • 错误修复
  • 本地测试环境(仅本地存在)
本地和远程repo中都存在master和bug修复

要求:

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

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

c) 我想从bug fix分支合并到master

一旦bug被修复,理想情况下,我希望从本地测试环境中清除工作目录,但在下一步工作之前,通过将它从master中合并进来,引入大的修复。这是为了确保本地测试环境与主测试环境相同,但测试配置除外

我正试图找出最好的工作流程

目前,我正在本地测试环境的工作目录中进行更改,然后将它们隐藏起来,并将它们应用到bug fix分支,在那里提交并推送它们。然后,我回到本地测试环境,将apply隐藏起来,让它们回到那里并继续工作。 这个工作流的问题是,我只能真正做到一次,否则下次我隐藏并转到bug fix分支时,该隐藏将包含超出我需要的内容

选项

我可以将git stash应用于bug修复分支和本地测试环境,并将其提交给这两个环境。提交将是相同的。然而,我是否能够将更改从主测试环境拉入本地测试环境,或者git是否会将相同但独立的提交视为冲突

或者,我可以提交bug修复分支,然后从bug修复分支到本地测试环境。如果我从bug fix合并到master,然后从master合并到本地测试环境,我会遇到问题吗?git会不会发现主测试环境和本地测试环境中存在的关键部件是相同的,而忽略它们?还是会有冲突


如果这两个工作流程都不起作用,还有更好的吗?

没关系!我想我已经解决了。我将在bug fix和本地测试环境上提交,然后一旦我将bug fix合并到主测试环境中,通过重置或重新基址删除本地测试环境中的所有提交,然后从主测试环境合并到本地测试环境。现在看来很明显