如何将git repo子目录检出到当前目录?

格列布·瓦列诺夫

有一个具有目录结构的远程仓库:

-directory1
    -file1_1
    -file1_2
    ...
-directory2
    -file2_1
    -file2_2
    ...

我在虚拟主机上有一个自定义名称的文件夹,例如“ / path / public_html”。

如何在虚拟主机上设置git,以便我的“ public_html”跟踪远程仓库的子目录“ directory2”?

因此,换句话说,我想在虚拟主机上执行某种形式的git命令,并将public_html更新为“ directory2”的最新内容。如果有帮助,我不在乎从虚拟主机回购回购交易。

你不能直接克隆directory2 的内容,只directory2 其内容,这意味着你总是有一个directory2/磁盘上的文件夹中。

如果要查看中的directory2内容public_html不是 public_html/directory2/...),则需要一个符号链接。

话虽如此,您仍然可以 克隆和检出directory2文件夹,而不是克隆整个仓库,如“是否可以在不先检出整个存储库的情况下进行稀疏检出? ”中所述。

那是:

git init /a/path
cd /a/path
git config core.sparseCheckout true
git remote add -f origin /url/remote/repo
echo "directory2/" > .git/info/sparse-checkout
git checkout [branchname] # ex: master

那将提供一个a/path/directory2文件夹,您将public_html无法symlink提供。

如果其中没有directory2文件夹public_html,您可以重复上述命令public_html而不是a/path

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档