发布功能分支以在git中定期预览
我试图了解偶尔将特性分支发布到git预览分支的最佳方法。以下是我的设置:发布功能分支以在git中定期预览,git,preview,feature-branch,Git,Preview,Feature Branch,我试图了解偶尔将特性分支发布到git预览分支的最佳方法。以下是我的设置: 客户要求提供该功能 我开发初始功能并发布到预览/测试站点 客户提供反馈 我做了更多的改变 转至步骤3几次 客户端是一个很好的功能 将功能重设为推送到生产站点的单个提交 请注意,可以一次开发多个不同的功能,并且只有一个“预览”站点,客户可以在开发这些功能时看到这些功能。我的git工作流程目前正在运行 git checkout -b new_feature ...hack hack hack... git add . 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
因此,最终结果是:
我唯一的问题是,我遇到的冲突似乎比我预期的要多。我认为这是因为登台是获得开发提交和最终提交。我还想知道是否有更好的方法来做到这一点?您的工作流程似乎很好,只是我不喜欢在与master合并之前挤压来自功能分支的所有提交 在我看来,这不会增加任何价值,而且您会丢失有关功能演变的潜在重要信息 当我合并时,我使用
git merge--no-ff-new\u特性
。这将保留有关功能分支存在的信息,以便您一眼就能知道哪些提交进入了每个功能:
Image source-您的工作流似乎很好,只是我不喜欢在与master合并之前挤压来自功能分支的所有提交 在我看来,这不会增加任何价值,而且您会丢失有关功能演变的潜在重要信息 当我合并时,我使用
git merge--no-ff-new\u特性
。这将保留有关功能分支存在的信息,以便您一眼就能知道哪些提交进入了每个功能:
图像源-切换预览回购,使其位于新功能分支上,怎么样?这样,您就不必一直合并。预览将显示正在开发的几个不同功能。因此,我希望预览是所有正在进行的工作的合并。切换预览repo使其位于新的功能分支上怎么样?这样,您就不必一直合并。预览将显示正在开发的几个不同功能。所以我希望预览是所有正在进行的工作的合并。谢谢你的建议。对我来说,重定基址可以让我放弃很多不重要的东西,并在历史上清楚地看到每个新增功能。对我来说,我宁愿看到------1。实现的功能foo------比:------------1。已启动功能foo 2。功能foo 3的还原部分。在提交4中忘记了文件。删除bug 5。最终完成了功能foo6。忘记了特性foo的X------看起来更清晰易懂。我想对我来说,所有这些小小的提交都只是“正在进行的工作”,并不是很重要。@Eric根据我的经验,当您的一个最终用户决定要重新添加该功能时,像“功能foo的2.还原部分”这样的提交非常有用。不管对你有用什么,都没有一种正确的方法来使用git。谢谢你的建议。对我来说,重定基址可以让我放弃很多不重要的东西,并在历史上清楚地看到每个新增功能。对我来说,我宁愿看到------1。实现的功能foo------比:------------1。已启动功能foo 2。功能foo 3的还原部分。在提交4中忘记了文件。删除bug 5。最终完成了功能foo6。忘记了特性foo的X------看起来更清晰易懂。我想对我来说,所有这些小小的提交都只是“正在进行的工作”,并不是很重要。@Eric根据我的经验,当您的一个最终用户决定要重新添加该功能时,像“功能foo的2.还原部分”这样的提交非常有用。但是,不管对您有用什么,都没有一种正确的方法来使用git。