尝试在 jenkins 中使用git稀疏
checkout 。但这件事似乎不喜欢我试图用来获取名称中带有空格的子目录的方式。
例如我正在尝试获取文件夹:
/foo/bar baz/folder/desired_folder
我已经尝试过,但没有成功:
“/foo/bar baz/folder/desired_folder”
/foo/bar\baz/folder/desired_folder
使用 git bash 验证稀疏 checkout 时可以看到相同的性质。 有没有办法逃离这个空间。否则我必须重命名文件夹并再次 checkin
最佳答案
我刚刚遇到了这个问题,以下是 git version 2.10.2.windows.1
中对我有用的方法。
我为此示例创建的测试存储库:https://github.com/dixon/TestSparseCheckout
已关注 these excellent instructions ,这是我使用的 echo
命令 - 我没有转义任何内容,但我添加了一个 *
:
$ echo "Folder With Spaces/*" >> .git/info/sparse-checkout
$ cat .git/info/sparse-checkout
Folder With Spaces/*
然后验证:
$ git pull origin master
From https://github.com/dixon/TestSparseCheckout
* branch master -> FETCH_HEAD
$ ls
total 8.0K
drwxr-xr-x 1 dixon 0 Mar 21 14:21 ./
drwxr-xr-x 1 dixon 0 Mar 21 14:19 ../
drwxr-xr-x 1 dixon 0 Mar 21 14:21 .git/
drwxr-xr-x 1 dixon 0 Mar 21 14:21 'Folder With Spaces'/
$ ls Folder\ With\ Spaces/
total 1.0K
drwxr-xr-x 1 dixon 0 Mar 21 14:21 ./
drwxr-xr-x 1 dixon 0 Mar 21 14:21 ../
-rw-r--r-- 1 dixon 10 Mar 21 14:21 'Should Checkout.txt'
看起来有效; DoNotCheckout
没有下载。
关于git - 在进行 git稀疏 checkout 时转义目录名称中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42657159/