在网站根目录中为实时网站提供git存储库是否可以?

时间:2012-10-23 22:46:53

标签: git version-control

我使用git来提取源代码更改(从dev推送后从GitHub)到实时网站上的我的网络应用程序。我的.git目录/ repo在我的web根目录中(不可公开访问),就像大多数项目是在构建Web应用程序并开始使用带有“git init”等的git时。 这可以吗?

通过“ok”,我的意思是我知道可能有或没有更好的位置将.git存储库放在production服务器上并使用构建脚本进行部署或者其他东西,但是在你的答案中,我是第一个并且最重要的是想要从安全性,最佳实践等方面了解我目前的做法是否“正常”。这似乎是将更改部署到实时站点并维护git仓库的最简单,最直接的方式,而且它一直在为我工作。

如果它“好,但有更好的方法”,我也对这些建议感到好奇。

1 个答案:

答案 0 :(得分:5)

没关系,但更好的方法是确保您的历史记录不在Web根目录的文件夹中。你可以使用git level选项来解决这个问题,让git知道工作目录的位置:

git --git-dir=some/path/.git --work-tree=my/web/root/projectX pull

会更新。如果您是脚本并且不想继续重复这些选项,则可以设置2个环境变量,然后可以跳过这些选项。

您也可以在其他地方使用git repo并使用archive命令获取工作文件夹:

git archive | tar -xzvf

还要考虑在历史记录中没有连接字符串或密码等内容。让部署脚本在部署时操作这些文件。