我希望我能够很好地解释这个问题:
我有项目文件(路径简化):
/local/projects/example/client
/local/projects/example/server
为了保持客户端和服务器代码同步,我只需在/ projects / example中保留一个git存储库。为此,我不想被Git子模块困扰。
但是,为了1)在本地测试服务器代码,以及2)将服务器代码与实时服务器同步(使用rsync),我还需要将服务器代码保存在我的local / domains文件夹中,该文件夹包含所有内容我的域名:
/local/domains/example.com/
/local/domains/example2.com/
/local/domains/example3.com/
我尝试从示例/服务器到domains / example.com进行符号链接,但Git不遵循符号链接。我尝试过硬链接,但是由于不明原因,它们似乎突然中断,可能是由Git检查旧版本引起的。手动复制脚本真的很麻烦。
我可以在本地测试时将我的本地Apache指向example / server而不是domains / example.com,但是我必须对整个路径进行chmod和chgrp,直到这个服务器看起来不对。
任何人都可以提出一个好的设置
答案 0 :(得分:0)
您应该可以直接在本地实时Apache根目录(/local/projects/example/server
)结帐本地git仓库(/local/domains/example.com/
),如“Maintain multiple simultaneously-accessible versions of website remotely using Git”所示,使用后收到钩子。
GIT_DIR=/local/projects/example/server/.git GIT_WORK_TREE=/local/domains/example.com git checkout master -f
您只需要确保调整umask
以便Apache使用所检出的文件。 (例如umask 002
会将所有文件设置为775
)