Git 从存储库中提取文件夹的内容

标签 git git-checkout pull sparse-checkout

我一直在尝试这个,但没有成功。

我有一个包含 3 个文件夹的 git 存储库。可以说:

文件夹A 文件夹B 文件夹C

例如,我希望能够将文件夹 B 的内容提取到网络服务器。

我只是想以某种方式在 www 文件夹上初始化一个 git 存储库,然后做一些魔法,将文件夹 B 中的文件 pull 到这个特定的文件夹中。

对文件夹 B 进行稀疏 checkout 会在我的 www 文件夹中创建文件夹 B。我只需要它的内容。

这对于 Git 是否可行?

最佳答案

您可以尝试稀疏 checkout 以便仅加载文件夹 B。

git init <repo>
cd <repo>
git remote add -f origin <url>
git config core.sparseCheckout true
echo "Folder/B/" >> .git/info/sparse-checkout
git pull origin master

参见“Is there any way to clone a git repository's sub-directory only?

由于稀疏 checkout 确实会创建一个文件夹,因此您需要在其他地方 checkout 它,并确保 www 符号链接(symbolic link)到该文件夹​​。

关于Git 从存储库中提取文件夹的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30454353/

相关文章:

linux - 如何修复 :code indent should never use tabs in Vi

git - 多个 heroku 帐户

Git - 处理混合编码文件名

git - 第二个帐户/ repo 推送问题

java - 如何在不知道 JGit 本地是否存在的情况下 check out 远程分支?

git - 在推送当前分支期间 check out 新的 git 分支是否安全?

github - 如何在*没有* github 帐户的情况下发出拉取请求?

git - 如何从 git 存储库克隆、获取或稀疏 check out 单个目录或目录列表?

text - 从网页抓取文本并存储为变量

tags - "tag latest not found"on docker pull 与私有(private)注册表