git clone 部分文件/文件夹
在进行项目开发时,我们有时候会遇到这样一种需求:整个的 project (可能包含:web端、移动端、mac端、服务端等等) 太大,但我们只需要用到部分文件/文件夹,都clone下来没啥用,还占用空间。这时,就需要git clone部分文件/文件夹,如何实现呢?
Git 1.7之前,这个是无法实现的。幸运的是,这个版本之后加入了 Sparse Checkout 模式,这样就满足了我们的需求。
完整的步骤如下:
1、新建本地空仓库
mkdir newproject
cd newproject
git init
2、关联远程仓库
git remote add -f origin <你的远程仓库地址(https或ssh)>
3、指定克隆模式
git config core.sparsecheckout true
4、指定需要克隆的文件/文件夹
echo "<要克隆的文件/文件夹(每次指定一个)>" >> .git/info/sparse-checkout
cat .git/info/sparse-checkout
5、拉取远程文件/文件夹
git pull origin master
git 同步远程已删除分支
1、查看本地分支和远程分支
git branch -a
WechatIMG3.png
2、查看本地分支和追踪远程分支情况
git remote show origin
WechatIMG2.png
可以看出红框中的分子是已删除的远程分支,可以根据提示进行删除。
3、同步删除已删除的远程分支
git remote prune origin
WechatIMG1.png
可以看出本地已经成功同步删除的远程分支。再次通过 git branch -a 命令查看,发现删除的远程分支在本地不见了。
4、本地分支的删除命令在这里就不做过多介绍了
git branch -D <本地分支>
git 版本回退并同步到远程分支
1、查看当前版本
git log --pretty=oneline
2、回退到分支的某笔提交
git reset --hard 25aeca29878b50d87354b6ada8a3290f738c707c
3、查看分支的当前版本
git rev-parse HEAD
4、同步到远程分支
git push -f
- 备注:强制提交后,当前版本以后的版本都会删除