總結git的幾個問題及解決辦法

前言

原來學git的時候只知其一;不知其二的,只會幾個基礎用法,一遇到問題就蒙了,此次在此總結歷史遇到的幾個問題及應對方法。git

clone錯誤

image.png
首先是這周下載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

從遠程git倉庫拉取分支

成功克隆項目後,老師讓切到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命令,在此分享給你們
image.png

版權聲明

本文做者:河北工業大學夢雲智開發團隊 - 趙凱強

相關文章
相關標籤/搜索