前言
原来学git的时候一知半解的,只会几个基础用法,一遇到问题就蒙了,这次在此总结历史遇到的几个问题及应对方法。
clone错误
首先是这周下载github的一个项目,包错如上图所示。错误的大致意思是:需要读取的数据还没有完成,但是传输数据的连接被关闭了。通过网上试了无数种方法得出。
原因1:缓存区溢出
解决办法:命令行输入
git config http.postBuffer 524288000
将缓存区设置为500m,
原因2:网络下载速度缓慢
解决方法:命令行输入
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999
配置git的最低速与最低速时间。如果依旧clone失败,则首先浅层clone,然后更新远程库到本地
git clone --depth=1 http://gitlab.xxx.cn/yyy/zzz.git
git fetch --unshallow
最终我通过这两条命令成功解决。
从远程git仓库拉取分支
成功克隆项目后,老师让切到102分支,但是我本地没有102分支,怎么做呢。经过又一通网上方法试验后,顺利解决。
1.
git branch -a
查看本地分支,我们刚从远程git仓库拉下来的分支当然没有102分支了。
2.
git fetch origin 102
拉去远程git仓库的102分支到本地仓库
3.
git checkout -b 102
在本地新创建一个102分支
4.
git pull origin 102
拉取102分支到本地。
或者如果你还没有克隆远程仓库代码,可以直接克隆远程仓库某一分支到本地
git clone -b 102 https://xxx.git
本地与远程代码不相符
git push origin XXX
时报这个错
error: failed to push some refs to 'https://git.XXX.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
这是由于你第一次git push origin XXX
时,远程仓库已经有了其他更改,你点了同步最新更改,然后再想git push origin XXX
时,本地仓库与远程仓库分支代码不一致造成的。
你需要
git pull origin XXX
合并远程分支代码到本地分支。然后再提交。
或者当其他人提交代码后,你可以更新你的代码与远程仓库代码保持一致。
git fetch
git merge origin/master
总结
在网上看到了一张图,可以帮助理解git命令,在此分享给大家
版权声明
本文作者:河北工业大学梦云智开发团队 - 赵凯强
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。