原來學git的時候只知其一;不知其二的,只會幾個基礎用法,一遇到問題就蒙了,此次在此總結歷史遇到的幾個問題及應對方法。git
首先是這周下載github的一個項目,包錯如上圖所示。錯誤的大體意思是:須要讀取的數據尚未完成,可是傳輸數據的鏈接被關閉了。經過網上試了無數種方法得出。
緣由1:緩存區溢出
解決辦法:命令行輸入github
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
最終我經過這兩條命令成功解決。gitlab
成功克隆項目後,老師讓切到102分支,可是我本地沒有102分支,怎麼作呢。通過又一通網上方法試驗後,順利解決。
1.post
git branch -a
查看本地分支,咱們剛從遠程git倉庫拉下來的分支固然沒有102分支了。
2.fetch
git fetch origin 102
拉去遠程git倉庫的102分支到本地倉庫
3.spa
git checkout -b 102
在本地新建立一個102分支
4.命令行
git pull origin 102
拉取102分支到本地。
或者若是你尚未克隆遠程倉庫代碼,能夠直接克隆遠程倉庫某一分支到本地code
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命令,在此分享給你們
本文做者:河北工業大學夢雲智開發團隊 - 趙凱強