【发布时间】:2015-09-14 15:32:29
【问题描述】:
我使用 git hook "post-update" 部署到我的服务器。 它挂钩调用:“git --work-tree=/folderdestination/ checkout -f master”,它工作正常
它不能改变 git repo。但我需要将文件部署在工作树结帐/的项目文件夹 www 中。
例如: www/index.php(我的 git)--> /index.php(我的服务器)
【问题讨论】:
标签: git
我使用 git hook "post-update" 部署到我的服务器。 它挂钩调用:“git --work-tree=/folderdestination/ checkout -f master”,它工作正常
它不能改变 git repo。但我需要将文件部署在工作树结帐/的项目文件夹 www 中。
例如: www/index.php(我的 git)--> /index.php(我的服务器)
【问题讨论】:
标签: git
您可以通过稀疏结帐来实现此目的。在远程服务器上运行它,在裸仓库的目录中:
git config core.sparsecheckout true
echo "www/*" >> info/sparse-checkout
在您的更新后挂钩中对选定的目的地(如您已有的目的地)进行结帐:
git --work-tree=/ checkout -f master
mv /www/* /
rm -rf /www
假设您有权写入根目录,这将在每次推送时将您的 www 的内容放在远程服务器的根目录中。
【讨论】: