我已经阅读了一些有关此问题的Stack Overflow线程,但其中许多似乎没有回答我提出的问题,或者至少有不同的条件似乎不适合我的。
如何设置以下内容?
本地存储库:
live.git
,一个远程bare repo
,它应该是git维护站点的最新稳定版本。拉动将合并到本地仓库的主分支中。然后,任何本地开发都将在开发分支上完成,并在完成后合并到本地主服务器中,然后推送到远程Staging存储库的开发分支。远程存储库:
bare repo
,它将具有post-receive
或{ {1}}挂钩定义为签出到服务器上的实时目录。我的想法是,可以在暂存非裸仓库上进行测试,并且当每个人看起来都很好时,可以推送直接回购。如果出现任何问题,那么我可以通过查看之前的暂存提交然后再将其推回到裸仓库来回滚。
注意,如果重要:我的登台和实时网站位于文档根目录,前者作为子域(staging .. *。com),后者位于站点根目录(www .. *。 COM)。
我无法让它发挥作用。我假设你可以拥有一个非裸仓库(暂存),在同一台服务器上拥有一个裸仓库(现场)作为其远程仓库。当地的遥控器将进行升级。 这样的设置是否可行,如果没有,有人可以推荐一种简单的替代或一致方式吗?
谢谢!
答案 0 :(得分:0)
您不需要任何特殊的存储库。每个存储库,无论是否裸露,都提供所有这些功能,作为分支。您可以为每个要描述的功能分支:开发,分段开发,分段和生产。
然后,不是“推”到遥控器,而是在分支之间合并。添加商业规则,例如
您可以将中央存储库设置为裸存储库,其他任何地方都可以获得非裸存储库。您的测试环境使用分段开发或分段分支,您的生产机器使用生产分支。不要合并到舞台或制作环境中;合并在开发人员的机器上并推送到中央仓库。然后你可以拉到舞台或po