将GIT用于具有多个位置的目录的项目

时间:2011-04-08 05:53:39

标签: git codeigniter frameworks

我正在尝试将PHP / MySQL Web应用程序(基于CodeIgniter 2.01框架构建)移动到GIT存储库。问题是为了增加安全性我已经实现了分离应用程序部分(应用程序和系统文件夹)和Web文件(index.php,images,css,js等文件夹)的最佳实践。 Web文件位于/ var / www中,应用程序内容位于/ data / company / apps / myapp中。

由于我希望保持这种额外的安全性,如何将具有多个此类位置的项目迁移到GIT中?

1 个答案:

答案 0 :(得分:4)

我认为您的Git存储库的结构和部署的文件的结构不需要匹配:

  • 要么添加一个额外的步骤(例如post-receive挂钩)将文件从您的Git仓库复制到正确的系统路径(您将SCM - 源控制管理 - 与RM - 发布管理分开),
  • 或者直接将两个系统路径链接到Git仓库中的两个相关目录。

我在评论中添加了:

  

如果你重新组织你的repo的内容以获得具有相关内容的目录,你可以为每个目录制作两个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