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

Joe*_*her 4 git version-control

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

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

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

Ada*_*ruk 6

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

git --git-dir=some/path/.git --work-tree=my/web/root/projectX pull
Run Code Online (Sandbox Code Playgroud)

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

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

git archive | tar -xzvf
Run Code Online (Sandbox Code Playgroud)

还要考虑在历史记录中没有任何连接字符串或密码.让部署脚本在部署点处理这些文件.