如何符号链接到特定 Git ref/branch 中的文件?

How can I symlink to files in a specific Git ref/branch?

我想通过 Dropbox 发布一个存储库的特定子目录,这样该目录就可以 public 下载,而无需访问 Github 上的整个存储库。

我尝试的第一件事是从 Dropbox 符号链接到 git 项目文件夹(例如,从我的 Dropbox public 文件夹中的 ln -s /path/to/project/dir ProjectName)。然后我意识到每次我在本地切换 repo 中的分支来工作时,这都会更改文件。

有没有什么方法可以符号链接到 master 分支上的目录版本,这样它只会在 master 更改时更改 Dropbox 中的文件?

与其尝试将许多文件复制到 Dropbox,您可以考虑发布存档(您想要的子目录的压缩版本,在您想要的版本)

那将是一个 "on-demand" 过程:您可以在任何时候想要更新存档内容时重建存档。

参见“git-archive a subdirectory”:

git archive -o /path/to/Dropbox/subarchive.zip HEAD:subdir

存档中没有 git 历史记录,但对于 "publication" 来说就足够了,而且我已经看到 issues with a git repo in Dropbox before.

您可以使用 post-commit hook 自动执行该过程,它会检查当前分支(是否为 master)并进行归档。