Git fetch和git pull的區別:
均可以從遠程獲取最新版本到本地
1.Git fetch:只是從遠程獲取最新版本到本地,不會merge
(合併)
$:git fetch origin master //從遠程的origin的master主分支上獲取最新版本到origin/master分支上
$:git log -p master..origin/master //比較本地的master分支和origin/master分支的區別
$:git merge origin/master //合併
2.Git pull:從遠程獲取最新版本並merge
(合併)到本地
$:git pull origin master //至關於進行了 git fetch 和 git merge兩部操做
- 實際工做中,可能
git fetch
更好一些, 由於在merge
前,能夠根據實際狀況決定是否merge
再說致使報錯:error: You have not concluded your merge (MERGE_HEAD exists).
的緣由多是在之前pull下來的代碼自動合併失敗
解決辦法一:保留本地的更改,停止合併->從新合併->從新拉取
$:git merge --abort
$:git reset --merge
$:git pull
解決辦法二:捨棄本地代碼,遠端版本覆蓋本地版本(慎重)
$:git fetch --all
$:git reset --hard origin/master
$:git fetch