2015-11-03 73 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」。將提取結果合併到當前的工作副本。

相關問題