5

我正在尝试弄清楚如何执行以下操作(并弄清楚它是否可能)。

我有一个本地 git 存储库,其中包含许多用于各种事物的文件夹,但我希望能够使用 git 将我的网站部署到我的开发服务器,并且实际上只有一个文件夹的内容应该进入远程 webroot(只是文件夹,而不是文件夹本身,这很困难)。我让开发服务器的 git push 进入 Web 可访问文件夹之外的裸仓库,然后我使用接收后脚本将所有工作文件放入 webroot。但是,这会复制所有文件夹,显然我只希望在操作完成后移动一个特定文件夹的内容。

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

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

我感谢任何人愿意提供的任何帮助。谢谢!

4

1 回答 1

0

一种更简单的方法是:

  • 在 a 中进行稀疏结帐/tmp/YourRepo/YourdirectoryYourDirectory作为您试图忽略的那个,因为只有它的内容是感兴趣的)
  • over的内容移动/tmp/Yourdirectory到正确的目标目录
于 2012-08-09T06:27:22.290 回答