我们有这个分支结构:
- master(在生产环境中构建/部署)
- qa(在问答环境中构建/部署)
- 特色分支
所以我们从 master 创建一个 feature 分支,然后当我们需要使用 Q&A 验证该功能时,将其合并到 qa(从 master 创建)。
有时我们需要从 master 重建 qa,因为某些开发直接合并到 master(小或错误修复)。
我做了什么:
git checkout qa
git reset --hard master
git push --force origin qa
所以遥控器现在正是我想要的。
但是现在,当其他开发人员这样做时git fetch
,他们在本地qa
的所有不在 master 上的提交都显示为传出提交。这似乎合乎逻辑。我们必须在每个人的机器上做一个git reset --hard origin/qa
,但这有点危险。
还有其他解决方案吗?
编辑:我们为什么要这样做:qa 分支上的某些功能被放弃了,所以我们需要从 master 重新创建 qa 分支,然后合并所有其他分支。