首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git稀疏签出与github浅克隆问题

git稀疏签出与github浅克隆问题
EN

Stack Overflow用户
提问于 2017-01-23 08:00:02
回答 1查看 471关注 0票数 2

希望从git (github.com)中执行稀疏签出。更新(这个脚本现在起作用了-技巧是在pom.xml创建这个bash脚本之前添加"/“):

代码语言:javascript
复制
#!/bin/sh

export baseUrl=https://github.com/
export repoAc=spring-projects
export repo=spring-data-examples

#export baseUrl=https://github.com/
#export repoAc=tgkprog
#export repo=testGit

echo "Cd change to correct dir like ~/u/w/s/github/"
cd ~/u/w/s3/github/
if [ $? -eq 0 ]; then
    echo OK
else
    echo"FAIL: bad dir to cd to "
    exit 0
fi
echo "Have you edited this script? Else crl -c to stop now"
echo "you are at dir:"
pwd
echo "If exists contents of $repoAc/$repo :"
ls $repoAc/$repo
echo "1/2 will delete folder $repoAc/$repo ctrl-c to cancel. Press enter to continue"
read -rsp $'Press Ctrl-c to cancel or any other key to continue \n' -n1 key
echo "2/2 will delete folder $repo ctrl-c to cancel. Press enter to continue "
read -rsp $'Press Ctrl-c to cancel or any other key to continue \n' -n1 key
mkdir $repoAc
cd $repoAc
rm -fR ./$repo
git init $repo
cd $repo
if [ $? -eq 0 ]; then
    echo OK
else
    echo"FAIL: bad dir to cd to "
    exit 0
fi
# TODO if error stop here.
git remote add origin $baseUrl$repoAc/$repo
git config core.sparsecheckout true
echo "elasticsearch/*" >> .git/info/sparse-checkout
echo "/README.md" >> .git/info/sparse-checkout
#echo "h/" >> .git/info/sparse-checkout
#echo "s/" >> .git/info/sparse-checkout
echo "web/*" >> .git/info/sparse-checkout
echo "jpa/*" >> .git/info/sparse-checkout
echo "map/*" >> .git/info/sparse-checkout
echo "multi-store/*" >> .git/info/sparse-checkout
echo "/pom.xml" >> .git/info/sparse-checkout
#echo "!*/pom.xml" >> .git/info/sparse-checkout
#paths we do not want
echo "!no1/" >> .git/info/sparse-checkout
echo "!neo4j/" >> .git/info/sparse-checkout
echo "!cassandra/" >> .git/info/sparse-checkout
echo "!solr/" >> .git/info/sparse-checkout
git pull --depth=1 origin master 
#   wget https://raw.githubusercontent.com/spring-projects/spring-data-examples/master/pom.xml
echo "Done $repo"
ls -al

如果我删除回声“pom.xml”中的线条..。直到回显"solr/*“>> ..git/info/排除

我得到子目录: bom elasticsearch jpa地图网站

但不是家长。

如果我添加回显"pom.xml“>> ..git/info/稀疏-签出

然后获取所有内容(所有子目录)。不知道为什么?

更新2:

早些时候,他试图:

代码语言:javascript
复制
echo "cassandra/*" >> .git/info/exclude

意思是添加路径,我希望git不要签出到文件.git/info/exclude,但该文件只用于添加和提交,而不是用于签出。

对于签出,必须添加到..git/info/稀疏-签出,如下所示:

!cassandra/

代码行:

代码语言:javascript
复制
echo "!cassandra/" >>.git/info/sparse-checkout

就这么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-23 19:29:17

使用"/pom.xml",否则将签出solr/apo.xml之类的文件,从而创建所需的目录。

对于在签出过程中不应忽略的路径模式,请将它们放在..git/info/稀疏-签出中,但前面有一个袋子(!),例如:!cassandra/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41801558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档