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的代码了

你可能感兴趣的:(android,android,studio)