我正在尝试了解偶尔将功能分支发布到git预览分支的最佳方法。这是我的设置:
请注意,可以同时开发多个不同的功能,并且只有一个“预览”网站,客户端可以在开发时看到所有这些功能。我目前的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
所以最终的结果是:
我唯一的问题是我似乎得到的冲突超出了我的预期。我认为这是因为staging正在获得开发提交和最终提交。我也想知道是否有更好的方法来做到这一点?
答案 0 :(得分:0)
您的工作流程似乎很好,但我不想在与master合并之前压缩功能分支中的所有提交。
在我看来,这并没有增加任何价值,并且您丢失了有关该功能发展的潜在重要信息。
合并时,我使用git merge --no-ff new_feature
。这保留了有关功能分支存在的信息,以便您一眼就知道哪些提交进入每个功能: