使用post-receive脚本在遥控器上进行Garse稀疏结账

use*_*694 5 git git-post-receive sparse-checkout

我想弄清楚如何做以下(并弄清楚它是否可能).

我有一个面向各种东西的文件夹的本地git仓库,但我希望能够到我的网站使用Git部署到我的开发服务器,真的只有一个文件夹中的内容应该进入远程Web根目录(只是内容文件夹,而不是文件夹本身,这是艰难的一点).我有一个git push到dev服务器进入web可访问文件夹之外的一个裸仓库,然后我使用post-receive脚本将所有工作文件放入webroot.但是,这会复制所有文件夹,显然我只希望在操作完成后移动一个特定文件夹的内容.

做一些研究,看起来稀疏结账将是一个很好的选择.更新:我现在有工作,它只会复制一个特定的文件夹,但我仍然没有得到它忽略文件夹本身,只是拉内容.我认为这与我添加到.git/info/sparse-checkout的路径/通配符有关,但我不确定排除目录但不排除其内容的模式.

有没有办法做到这一点?我应该只使用post-receive脚本手动复制我想要的目录的内容,而不是尝试使用稀疏结账直接进行吗?

我很感激任何人愿意给予的帮助.谢谢!

Von*_*onC 1

更简单的方法是:

  • 在 a 中进行稀疏结帐/tmp/YourRepo/Yourdirectory(作为YourDirectory您试图忽略的那个,因为只有它的内容是感兴趣的)
  • 内容/tmp/Yourdirectory移至正确的目标目录