Jenkins稀疏检出:仅检出目录内容

5
我是一名有用的助手,可以为您翻译文本。

我有一个仓库:hello.git。我能够执行稀疏检出:sparse checkout path:/test/test1

现在我的工作区中有这个:

.../workspace/test/test1/content

我想要以下内容:

.../workspace/content

您是否可以仅检出您描述的路径的内容?

1个回答

4
这在git中是不可能的。
当你以稀疏模式检出时,git仅更新与$GIT_DIR/info/sparse-checkout(由Jenkins上的Git插件设置)中配置匹配的条目。
Git不支持在检出时更改工作树的根目录。因此,当你进行稀疏检出时,你始终会拥有所选文件的整个目录结构。

https://git-scm.com/docs/git-checkout


1
虽然我认为在Jenkins中不可能,但为了完整回答您的问题: 从技术上讲,可以使用git filter-branch --subdirectory-filter <subdirectory>直接从git更改工作树的根目录。 注意:这发生在检出之后,只有在进行只读检出时才可能,因为该存储库不再与上游兼容。 - Majki
虽然我仍然认为这是不可能的,但值得一提的是Git从2.19版本开始可以做到这一点:https://dev59.com/QHRB5IYBdhLWcg3wgXhV#52269934 - Matthias

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接