我使用git来提取源代码更改(从dev
推送后从GitHub)到实时网站上的我的网络应用程序。我的.git目录/ repo在我的web根目录中(不可公开访问),就像大多数项目是在构建Web应用程序并开始使用带有“git init
”等的git时。 这可以吗?
通过“ok”,我的意思是我知道可能有或没有更好的位置将.git存储库放在production
服务器上并使用构建脚本进行部署或者其他东西,但是在你的答案中,我是第一个并且最重要的是想要从安全性,最佳实践等方面了解我目前的做法是否“正常”。这似乎是将更改部署到实时站点并维护git仓库的最简单,最直接的方式,而且它一直在为我工作。
如果它“好,但有更好的方法”,我也对这些建议感到好奇。
答案 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
还要考虑在历史记录中没有连接字符串或密码等内容。让部署脚本在部署时操作这些文件。