我们最近从SVN切换到了Git,同时将实时系统置于版本控制中(而不是本地签出和实时复制文件)。
在分配给我的项目中,我们所有人都访问相同的存储库,并且要使更改生效,我们就git pull
在那里。这会导致问题,因为我们的网站设计人员将更改推送到了VCS中,这些更改尚不应该生效,但应该在Web测试环境中进行。
当其中一名开发人员投入使用时,他获得了所有(可能未完成的)更改。
我想到了将活动切换到一个额外的分支,并只是合并了更改的内容,但是由于我缺乏git知识,所以我不知道该怎么做。
我的想法是:
- 在实时(
git branch live
)中创建一个新分支。 - 每次必须直播
- 在主拉变化(如:
git checkout master; git pull; git checkout live
) git merge master
- 在主拉变化(如:
问题是切换到母版或将所有内容直接放入实时系统会导致问题,因此我宁愿避免这种情况。
有没有办法做到这一点,或者有没有更好的办法来管理Live系统(除了培训Webbie不要推送未完成的任务之外)。
git checkout -f
忽略该问题的方法-但进行备份!
git pull --all
默认情况下不会将master拉入live,它将拉master并将其与master合并,并且(如果服务器上存在)将live合并到live。你试过了吗?