git中Sparse Checkout

 

先说一下使用场景,想从远程仓库中只拉取指定代码,不想获取整体的更新。 使用之前一定要commit一下本地代码。如果你关联了两个仓库,那么最好也把最新代码push到经常push的那个仓库里。(commit和push的操作是让你更加安全)因为Sparse Checkout这个操作真的有坑

$ git init    //git初始化
$ git remote add -f origin http://githhub/projectName.git   //添加远程仓库地址
$ git config core.sparsecheckout true    //开启sparse checkout功能
$ echo "fileName" >> .git/info/sparse-checkout   //fileName需要拉去的文件夹名称
$ cat .git/info/sparse-checkout   //查看配置文件信息
$ git pull origin master    //拉取远程哪个分支的文件目录,这里是master上的分支

前两行的操作应该是没用的,我想你在准备这个操作前,前两行你早就完成了。剩余的代码输入完后,并没有得到想要的只更新了 ”fileName"文件夹,而是把所有远程仓库的所有代码都更新了。能merge的还会自动给你merge,还会有conflict的。我一看和我想要的效果不一样。以为用 git reset --hard HEAD@{n}  //根据commit回退代码。可以改回去,结果跟我说有一个文件没有update。后来看了别的办法也没解决(有解决的欢迎评论)。最后只有重新得到commit或者push的代码了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值