这是我们的开发工作流程:
我的问题出在第3步& 4.客户端只能访问登台服务器,所以为了让他看到更改,我必须将主题分支合并到开发分支并将其推送到登台服务器,我通常不会只合并1个分支,但平均为3 - 4。
如果客户拒绝更改并且需要进一步修改,那么开发人员会在同一主题分支中修复问题,我必须重新开发。
通过多次重新合并一个主题分支来开发我在历史中的那个问题的松散轨迹。 (有时也会导致冲突)
这是一个'健康'的开发工作流程吗? 你有什么建议和改进?
答案 0 :(得分:2)
如果客户拒绝更改并且需要进一步修改,那么开发人员会在同一主题分支中修复问题,我必须重新开发。
我宁愿还原(如git revert
中)开发分支中被拒绝的更改,并等待开发人员的修复。
通过使用git revert,我只添加新的提交,而不是更改历史记录(使用rebase或git reset
)
这样,下一次提交(相同功能)应该很容易在开发分支中合并。
答案 1 :(得分:1)
简单地介绍一个临时分支,它是脏的,不允许任何人分支它。
fetch
和reset --hard origin/branch
develop
以确保您完成所有更改。如果您目前没有任何评论(= staging
应与develop
同步),请将staging
重置为develop
而不是git checkout staging
; {{1 }})git reset --hard develop
),如果改变了某些事情就没有后果等。通过这种方式,您不必担心在您不关心历史记录(向客户显示内容)的过程中创建一个漂亮的历史记录,并且您的git reset --hard HEAD~4
分支获得了非常干净的历史记录。
如果您担心必须多次解决合并冲突,请查看git’s rerere feauture