2011-04-08 46 views
3

我正試圖將PHP/MySQL Web應用程序(構建於CodeIgniter 2.01框架上)移至GIT存儲庫。問題是爲了增加安全性我已經實現了將應用程序部分(應用程序&系統文件夾)和網絡文件(index.php,images,css,js等文件夾)分開的最佳實踐。 Web文件位於/ var/www中,應用程序內容位於/ data/company/apps/myapp中。將GIT用於具有多個位置目錄的項目

由於我想保持這種增加的安全性,我該如何將具有多個位置的項目遷移到GIT?

回答

4

我不認爲你的Git倉庫的結構和部署文件的結構需要匹配:

  • 任你添加一個額外的步驟(post-receive鉤例如)從複製文件您的Git回購到正確的系統路徑(您將SCM - 源代碼管理管理 - 從RM - 版本管理分開),
  • 或者您直接將您的兩個系統路徑鏈接到Git回購庫中的兩個相關目錄。

我在評論中說:

如果你重新組織,以便您的回購協議的內容必須與相關的內容目錄

,你可以做兩個git archive爲每個目錄,並在正確的提取出來地方。

OP crashintoty迴應道:

我發現下面的命令來解決在post-update

git archive --format=tar master:guts/ | \ 
    tar -C /data/company/apps/myapp -x 
git archive --format=tar master:skin/ | tar -C /var/www -x 
+0

嗯...怎麼會與多個開發商鉤建議工作他們在他們自己的沙箱/ dev服務器上測試他們的變化(也就是說,他們在自己的服務器上運行LAMP,在將其推送到團隊的san之前對他們的提交/本地回購進行實時測試dbox/dev服務器)?? – crashintoty 2011-04-08 07:17:25

+0

@crashintoty:他們會使用本地版本的post-receive鉤子(適用於本地服務器中的本地部署)推送到* local *裸回購。如果本地實時測試通過,那麼他們會推送到組的沙盒/ dev服務器。哈哈! – VonC 2011-04-08 07:22:52

+0

哈!沒錯,他們也可以使用鉤子!我應該知道(我的大腦一定很累)。謝謝@VonC! – crashintoty 2011-04-08 08:25:51

相關問題