git pull 和git push 報錯

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章