Git fetch和git pull的區別, 解決Git報錯:error: You have not concluded your merge (MERGE_HEAD exists).


Git fetch和git pull的區別, 解決Git報錯:error: You have not concluded your merge (MERGE_HEAD exists).

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 fetch:從遠程獲取最新版本並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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM