我开始使用git和我的.git目录以及web根目录中的所有其他内容。进一步阅读后,这似乎是一种不好的做法。我现在将我的应用程序和系统文件夹放在Web根目录之外。我的Web根目录中唯一剩下的就是索引文件和图像资源文件夹,js和css。
旧路
/var/www/assets
/var/www/application
/var/www/system
/var/www/.git
新方法(不确定.git应该在哪里使用?)
/var/www/assets
/var/application
/var/system
之前很容易设置git。我创建了repo,它找到了所有文件,因为它们都在同一个目录中。现在,我不确定.git repo应该驻留在新结构中的哪个位置。如果我将它添加到/ var / www,它会看到assets文件夹而不是其他任何内容。
我想用git管理所有三个目录。如何将所有目录包含在仓库中。或者,还有另一种方法,git旨在处理这样的实例?我在这个网站上发现了这样的另一个问题,但我无法理解它。
另外,在我的远程回购中,我会将其设置为这样。我还没有移动任何目录。我刚刚尝试让它在本地工作。
var/www/assets
var/application
var/system
var/git/.git
答案 0 :(得分:3)
我建议不要将两个目录移出repo,而是建议将web根目录移动到www
目录中。我这样做的方式如下:
创建新的Web根目录:
# from /var/www
mkdir www
git mv assets www
git mv index* *html www
git commit
所以,当前的临时结构是:
/var/www/www/assets
/var/www/system
/var/www/application
/var/www/.git
此时您有两个选择:编辑服务器配置以使/var/www/www
成为新的Web根目录。或者将整个内容移动到其他位置并将webroot符号链接到其原始位置。我个人更喜欢第二种选择:
# from /var/www
cd ..
mv www /usr/local/mywebapp
ln -s /usr/local/mywebapp/www www
现在你的文件夹结构是:
/usr/local/mywebapp/www/assets
/usr/local/mywebapp/system
/usr/local/mywebapp/application
/usr/local/mywebapp/.git
但网络搜索者只能看到:
/var/www/assets
/var/www/index.html
这样做可以确保您的项目始终处于git控制之下,而不会在git之外发生更改(因此在git的历史记录中未记录)。这样做的好处是您根本不需要更改远程仓库。只需将更改推送到那里。
如果您希望其他人使用符号链接方法正确安装您的应用程序,您可以随时提供一个shell脚本来为它们创建符号链接,并确保服务器配置正确。
答案 1 :(得分:1)
最好将源和运行时分开。
在其他地方完全拥有git和source。有一个从源构建的构建脚本(即从git checkout构建)并将构建的输出传输到web目录。
所以来源可能看起来像:
/var/src/assets
/var/src/application
/var/src/system
/var/src/.git
然后构建脚本将仅将构建的输出复制到/var/www