Git 通过 Chef 检出单个目录
Git checkout single directory through Chef
有没有办法用 Chef 及其 git
resource 进行稀疏结帐?或者,什么是最好的方法来完成同样的事情?
由于执行稀疏签出需要在执行拉取之前修改 .git
文件夹中的文件,因此我找不到让 git
资源配置存储库但没有尝试的方法在我可以编辑该文件之前拉。如果我等到 git
资源执行结束,那么分支顶端的文件总数将已经下载。
作为参考,如果我正在做一个 bash 脚本,我会这样做:
git init <my_repo>
cd <my_repo>
git remote add origin <my_repos_url>
git config core.sparsecheckout true
echo "my_directory/*" >> .git/info/sparse-checkout
git pull --depth=1 origin master
问题也张贴在这里:https://discourse.chef.io/t/sparse-checkout-with-git-resource/11834
这真的不支持。你最好的选择可能是使用 execute
/bash
资源来完成除实际拉取之外的所有操作,然后在之后放置一个普通的 git
资源,因为一旦设置它就应该遵守设置。
有没有办法用 Chef 及其 git
resource 进行稀疏结帐?或者,什么是最好的方法来完成同样的事情?
由于执行稀疏签出需要在执行拉取之前修改 .git
文件夹中的文件,因此我找不到让 git
资源配置存储库但没有尝试的方法在我可以编辑该文件之前拉。如果我等到 git
资源执行结束,那么分支顶端的文件总数将已经下载。
作为参考,如果我正在做一个 bash 脚本,我会这样做:
git init <my_repo>
cd <my_repo>
git remote add origin <my_repos_url>
git config core.sparsecheckout true
echo "my_directory/*" >> .git/info/sparse-checkout
git pull --depth=1 origin master
问题也张贴在这里:https://discourse.chef.io/t/sparse-checkout-with-git-resource/11834
这真的不支持。你最好的选择可能是使用 execute
/bash
资源来完成除实际拉取之外的所有操作,然后在之后放置一个普通的 git
资源,因为一旦设置它就应该遵守设置。