我知道您不应该在更改基准后将更改推送到远程服务器,并且有点知道原因。但是,请设想以下情形:
处理此问题的正确方法是什么?
答案 0 :(得分:0)
“ 您不应该将更改推送到远程服务器上,直到重新设置”
我完全不同意这个说法;您所描述的内容均不保证重新定基。
您所描述的问题听起来像您仅仅在您的遥控器上有一个master
分支,而您正在分支的功能也由此分支了。这与 Git Flow 不符。
不用担心-长时间运行的功能分支-这是很正常的事情,并且可以很好地将这样的分支重复推到origin
。由于在Git中进行了备份(您提到过),因此甚至建议您这样做。
您将要遵循典型的Git Flow:
master
分支连接到您的生产环境,develop
分支中分支了master
feature
(而不是develop
)master
origin/feature/your-branch
,develop
。pull
将develop
分支放入本地要素分支,将其修复在您的 local 分支上。您可能需要先stash
进行更改。然后,您可以push
的本地分支返回到origin
-功能分支尚未合并。develop
中。develop
部署到您的开发环境中(最好是通过持续集成工具(例如Jenkins或TeamCity)自动进行)。这样,开发环境始终具有所有最新功能。master
(已部署到生产环境)。此时,在分支上添加tag
也很有益,这样您可以确切知道当前正在生产的版本。这样,您将永远不会遇到在合并之前将代码推送到origin/feature/your-branch
会对其他开发人员或环境造成任何类型的问题的情况。这也意味着,将功能合并到develop
中之后,您的生产环境仍将不包含该功能,因此您不必担心。您可以在功能投放生产服务器之前自由测试该功能。