我正在开发一个使用裸git存储库的WebApp项目,该存储库组织在三个分支中:
所有开发都是使用dev-master
分支的克隆完成的:不是克隆了完整的存储库,而只是克隆了特定的分支:
git clone /path/to/bare/repo.git --branch dev-master dev
新功能准备就绪后,dev-master
中的更改为pushed
至裸仓:
// Within dev repository
git push
然后,这些更改首先发布在WebApp的测试版中。这只是裸仓库的另一个克隆。这一次当然是beta-master
分支的克隆。
将更改从dev-master
复制到beta-master
的正确/正确策略是什么?
cd path/to/beta/
git fetch
git merge origin/dev-master
一旦测试了这些功能,我也会这样做,以便将测试版从公开变为公众,
这有效,但有一个缺点:每次完成此操作时,git会在beta-master
中创建合并提交,而不是简单地使用快进。这不会使历史更容易阅读...
那么,在这样的情况下,什么是正确的工作流程?