【发布时间】:2011-10-10 15:17:01
【问题描述】:
我正在尝试了解偶尔将功能分支发布到 git 预览分支的最佳方式。这是我的设置:
- 客户要求功能。
- 我开发了初始功能并发布到预览/测试站点。
- 客户提供反馈。
- 我做了更多的改变。
- 重复步骤 3 几次。
- 客户端很适合使用功能
- 将功能变基为推送到生产站点的单个提交。
请注意,可能会同时开发多种不同的功能,并且只有一个“预览”站点,客户可以在其中看到所有正在开发的功能。我目前的 git 工作流程。
git checkout -b new_feature
...hack hack hack...
git add .
git commit -m "WIP"
git checkout preview
git merge new_feature
... feedback and another feature got approved and merged with master ...
git checkout new_feature
git merge master
... hack hack hack...
git add .
git commit -m "WIP"
git checkout preview
git merge new_feature
... client approves work for release ....
git checkout new_feature
git rebase -i master
... squash all commits except the first which I reword with a good description...
git checkout master
git merge new_feature
git branch -d new_feature
git checkout preview
git merge master
git checkout master
所以最终结果:
- 我能够在它自己的独立分支中开发该功能,并在它投入生产时进行控制。它还在生产中作为一个很好的整洁提交进行了汇总。
- 客户可以看到我开发的功能并提供反馈。他们还可以看到该功能以及我同时开发的其他功能。
- “预览”分支变得有点混乱,因为它同时获得了“WIP”提交和最终的重新定位提交。但我并不介意,因为它只是用于客户端预览,如果我愿意,我可以定期删除分支并从 master 重新创建。
我唯一的问题是我遇到的冲突似乎比我预期的要多。我认为这是因为分期同时获得了开发提交和最终提交。我也想知道是否有更好的方法来做到这一点?
【问题讨论】:
-
切换预览存储库以使其位于 new_feature 分支上怎么样?这样你就不需要一直合并了。
-
Preview 将显示几个正在开发的不同功能。所以我希望预览是所有正在进行的工作的合并。
标签: git preview feature-branch