Git 代碼更新:git fetch 和 git pull 的區別


Git 從遠程的分支獲取最新的版本到本地有這樣 2 個命令: 

1. git fetch:相當於是從遠程獲取最新版本到本地,但不會自動 merge 

git fetch origin master 
git log -p master origin/master 
git merge origin/master

以上命令的含義:

首先從遠程的 origin 的 master 主分支下載最新的版本到 origin/master 分支上

然后比較本地的 master 分支和 origin/master 分支的差別

最后進行合並

上述過程其實可以用以下更清晰的方式來進行:

git fetch origin master:tmp
git diff tmp 
git merge tmp

從遠程獲取最新的版本到本地的 tmp 分支上,之后再進行 比較、合並

2. git pull:相當於是從遠程獲取最新版本並 merge 到本地 

git pull origin master

上述命令其實相當於 git fetch + git merge

在實際使用中,git fetch 更安全一些,因為在 merge 前,我們可以查看更新情況,然后再決定是否合並。

 

為了更好的理解,畫了個圖:

 


免責聲明!

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



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