Git拉取特定文件夹(实际上只下载那个文件夹)

Git pull specific folder (actually only download that folder)

所以我一直在努力为我的团队和我们的项目寻找可接受的部署解决方案。我阅读了大量操作方法,但在一天结束时,我只想推送到 github 上的 master 分支并更新网站。

所以要做到这一点,我想我会这样做:

  1. 在 github 上创建一个网络钩子,当 master 分支收到 push
  2. 时通知我们的服务器
  3. 从我们的 github 存储库的 master 分支
  4. 创建服务器 pull

问题来了:我们的存储库包含大量构建文件和源文件。 Gulp、Sass,所有这些有趣的东西。只有一个特定的文件夹(在我们的例子中是 dist)实际服务于网络应用程序(html、css、js、php、等等)。

所以我正在寻找一种方法,使来自我们服务器的 github 回购的自动 pull 只将 /dist 文件夹下载到它的 /public_html 文件夹中.

我查看了 git config core.sparsecheckout true,但似乎这将下载整个 repo,只是从视图中隐藏了其他文件。

你可以用 ref 拉任何东西。要做的事情是创建一个仅跟踪该子树的分支,github 的 gh-pages 是一个非常常见的例子。 Here's a worked example,它展示了如何使用管道对这样已经提交的内容进行繁琐的工作,您可以将您的 webhook 放在 gh-pages 分支或您决定命名的任何内容上。