我有以下git
工作流程:
- 创建新功能分支
- 在功能分支上工作
- 经常提交
- 一旦功能完成,合并到
master
分支 - 冲洗并重复
但是,有时,我需要从 master 恢复整个功能。这可能涉及很多内容revert
。(需要恢复功能的原因是我有一个网站,它可以在一个仓库中运行。从那里,我们使用一个脚本将该站点部署到我们的生产站点或暂存站点。两者都是从我们的主分支完成的。唐不要问,这正是我被赋予的工作。有时,我正在做一些我准备好的事情,但是需要立即做出改变,所以我需要一些方法来拉动我的改变,以便清理回购。)
我认为最简单的方法是每个功能分支只有一个提交。然后我可以revert
提交。所以很自然,我正在考虑将功能分支的所有提交压缩为一个,然后再将其合并到master
.
所以现在我的工作流程看起来像:
- 创建新功能分支
- 在功能分支上工作
- 经常提交
- 一旦功能完成git rebase -i HEAD~number_of_commits(或者如果远程分支可用,origin/feature_branch)
这个逻辑有问题吗?它是否违反任何最佳实践?我自己做了一些测试,整个工作流程似乎运行顺利并解决了我的问题,但我想通过其他(更聪明的)Git-ers 来运行这个想法,看看它是否有任何问题。
谢谢!