git clone 部分文件/文件夾
在進(jìn)行項(xiàng)目開發(fā)時(shí)不铆,我們有時(shí)候會(huì)遇到這樣一種需求:整個(gè)的 project (可能包含:web端四敞、移動(dòng)端桐玻、mac端迟螺、服務(wù)端等等) 太大冲秽,但我們只需要用到部分文件/文件夾,都clone下來(lái)沒(méi)啥用矩父,還占用空間锉桑。這時(shí),就需要git clone部分文件/文件夾窍株,如何實(shí)現(xiàn)呢民轴?
Git 1.7之前攻柠,這個(gè)是無(wú)法實(shí)現(xiàn)的。幸運(yùn)的是杉武,這個(gè)版本之后加入了 Sparse Checkout 模式辙诞,這樣就滿足了我們的需求。
完整的步驟如下:
1轻抱、新建本地空倉(cāng)庫(kù)
mkdir newproject
cd newproject
git init
2飞涂、關(guān)聯(lián)遠(yuǎn)程倉(cāng)庫(kù)
git remote add -f origin <你的遠(yuǎn)程倉(cāng)庫(kù)地址(https或ssh)>
3、指定克隆模式
git config core.sparsecheckout true
4祈搜、指定需要克隆的文件/文件夾
echo "<要克隆的文件/文件夾(每次指定一個(gè))>" >> .git/info/sparse-checkout
cat .git/info/sparse-checkout
5较店、拉取遠(yuǎn)程文件/文件夾
git pull origin master
git 同步遠(yuǎn)程已刪除分支
1、查看本地分支和遠(yuǎn)程分支
git branch -a
WechatIMG3.png
2容燕、查看本地分支和追蹤遠(yuǎn)程分支情況
git remote show origin
WechatIMG2.png
? 可以看出紅框中的分子是已刪除的遠(yuǎn)程分支梁呈,可以根據(jù)提示進(jìn)行刪除。
3蘸秘、同步刪除已刪除的遠(yuǎn)程分支
git remote prune origin
WechatIMG1.png
? 可以看出本地已經(jīng)成功同步刪除的遠(yuǎn)程分支官卡。再次通過(guò) git branch -a 命令查看,發(fā)現(xiàn)刪除的遠(yuǎn)程分支在本地不見了醋虏。
4寻咒、本地分支的刪除命令在這里就不做過(guò)多介紹了
git branch -D <本地分支>
git 版本回退并同步到遠(yuǎn)程分支
1、查看當(dāng)前版本
git log --pretty=oneline
2颈嚼、回退到分支的某筆提交
git reset --hard 25aeca29878b50d87354b6ada8a3290f738c707c
3毛秘、查看分支的當(dāng)前版本
git rev-parse HEAD
4、同步到遠(yuǎn)程分支
git push -f
- 備注:強(qiáng)制提交后阻课,當(dāng)前版本以后的版本都會(huì)刪除