2015-11-03 31 views
0

我们想通过GIT部署CMS。原因,为什么我们要这样做,超出了问题的范围。我们想要做的事情可以在下面的图片中看到。Git - 如何将两个存储库混合在一起

该系统由许多文件和数据库组成。如果我们最初部署一个系统,开发数据库的当前版本应该与系统一起部署(钻石的右半部分)。

在系统正在使用时,用户更改数据库,因此我们绝不会用新版本覆盖数据库。

其他文件可能通过GIT(钻石的左半边)更新。如果我们把数据库放到同一个分支中,它会覆盖用户的数据库,这不是我们想要的。因此它应该在一个单独的分支或回购。

给定master分支中的文件和db分支中的数据库(它也包含所有文件),我们最初检查db分支。为了更新文件,我们切换到主分支,拉出文件,然后切换回db分支并合并来自主文件的文件。

缺点是,数据库将在短时间内被删除。这有一些暗示,我们不想应付。

有没有什么办法可以将整个系统与db一起部署,然后只更新文件而不切换到其他分支并返回主服务器,这样数据库不需要被Git删除?

我会很高兴任何想法。

Git Deployment

回答

0

我找到了答案。

我可以将数据库放在db分支中。该分支包含来自master和数据库的所有文件。

我得到的最新系统的克隆与

git clone http://host/myrepo.git mydir 
cd mydir 
git checkout db 

我得到的最新文件,而不会与

git pull origin master 

“原产地”触摸数据库IST的所谓“远程”的名字。这将在结帐后自动定义,并且是存储库的URL的快捷方式。该行表示类似于:

从存储库中获取由“原始”远程定义所定义的url的分支“master”。将提取结果合并到当前的工作副本。

相关问题