gpt4 book ai didi

用于简单 Web 部署的 Git sparse checkout

转载 作者:太空狗 更新时间:2023-10-29 12:59:58 24 4
gpt4 key购买 nike

我的目录结构是这样的:

../dir1/dev/project1/...
/project2/...
/project3/...
/production/

我已将 dev(及其所有子目录) checkin git(和 github)。一切正常。

我想使用 github 通过 checkout (或 pull 或其他方式)到我的生产目录来仅部署 project2。 (具体来说,我想按标签 checkout 。)所以这将导致 ../dir1/production/project2

我不是 git 专家,但已经在网上阅读了很多内容,看来“稀疏 checkout ”正是我所追求的。我尝试了指令的各种组合 hereherehere .

基本上我做了:

mkdir <repo> && cd <repo>
git init
git remote add –f <name> <url>
git config core.sparsecheckout true
echo /project2/ >> .git/info/sparse-checkout

当我做 git pull <remote> TAGNAME我得到 fatal: The remote end hung up unexpectedly .

当我做 git checkout TAGNAME我得到 error: Sparse checkout leaves no entry on working directory .

我做错了什么?

最佳答案

啊哈 - 解决了。问题是通过执行 init 它创建了一个空的存储库,所以我无法进行 checkout 。 (我不知道为什么 pull 不工作。)

相反,执行克隆,但使用 -n 参数表示“不 checkout ”。这会克隆 git 存储库,但会使您的工作树为空。然后设置稀疏 checkout 。然后检查您想要的内容。

惠特:

cd <parentdir>
git clone -n <url>
cd <repo_dir>
git remote add –f <name> <url>
git config core.sparsecheckout true
echo /<foldername>/ >> .git/info/sparse-checkout
git checkout <tagname>

关于用于简单 Web 部署的 Git sparse checkout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15827117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com